一、实验目的

通过swing和awt用Java语言写一个个人简历的图形用户界面。并使用合适的监听器和组件,完成单选框和复选框的功能。并能够在选择单选框时将结果显示在文本框中具体内容如下:

(1)掌握图形用户界面基本组件。

(2)了解如何使用布局管理器对组件进行管理。

(3)掌握Java事件处理机制。

二、实验原理

图形用户 界面 (Graphical User Interface,简称 GUI,又称图形 用户接口 )是指采用图形方式显示的计算机操作用户 界面 。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。. 与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。. 图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。

一个Java GUI通常由顶层容器、中间容器以及多个原子组件组成。每个原子组件或容器都可能触发相应事件的产生。容器是一类能够在其中容纳其他组件的特殊组件。Swing的GUI组件类是按照类属层次以树状结构进行组织的。在这个树的最顶层,即树的根部,使一个最基本的容器类,被称为顶层容器。Swing 提供了三个通用的顶层容器类JFrame,JDialog和JApplet。JFrame提供了基于窗体的应用程序,JDialog提供对话框形式的界面,JApplet提供Java小应用程序的界面形式。在顶层容器下是中间容器,用于容纳其他的组件。通常窗格本身在显示界面中是看不到的。面板类Panel是一种中间容器,它的唯一作用是使组件更容易定位。顶层容器通过getContentPane()方法获取内部的一个内容窗格。

三、实验步骤、数据记录及处理

1.程序源码:

package Test1;

import java.awt.*;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.*;

import javax.swing.border.Border;

public class Project2 implements ItemListener{

public static void main(String[] args){

JFrame jf=new JFrame("个人简历");

JTextArea jt=new JTextArea("选择");

JRadioButton b1= new JRadioButton("男");

JRadioButton b2= new JRadioButton("女");

JLabel jb1=new JLabel("性别");

JLabel jb2=new JLabel("爱好");

JCheckBox a1=new JCheckBox("唱歌");

JCheckBox a2=new JCheckBox("跳舞");

JCheckBox a3=new JCheckBox("编程");

JCheckBox a4=new JCheckBox("打游戏");

JCheckBox a5=new JCheckBox("游泳");

JCheckBox a6=new JCheckBox("跑步");

JTextField c1=new JTextField("姓名:");

JTextField c2 = new JTextField(8);c1.setEditable(false);

JTextField c3=new JTextField("年龄");

JTextField c4=new JTextField(8);c3.setEditable(false);

JTextField c5=new JTextField("民族");

JTextField c6=new JTextField(8);c5.setEditable(false);

JPanel jp1=new JPanel();

jp1.add(c1);

jp1.add(c2);

jp1.add(c3);

jp1.add(c4);

jp1.add(c5);

jp1.add(c6);

jp1.add(jb1);

ButtonGroup bg=new ButtonGroup();

bg.add(b1);

bg.add(b2);

jp1.add(b1);

jp1.add(b2);

jp1.add(jb2);

jp1.add(a1);

jp1.add(a2);

jp1.add(a3);

jp1.add(a4);

jp1.add(a5);

jp1.add(a6);

JPanel jp2 = new JPanel();

jp2.setLayout(new GridLayout(0,1));

jp2.add(jt);

Border etched = BorderFactory.createEtchedBorder();

Border border = BorderFactory.createTitledBorder(etched, "FlowLayout Panel");

border = BorderFactory.createTitledBorder(etched, "选择结果");

jp2.setBorder(border);

Container cp = jf.getContentPane();

cp.setLayout(new GridLayout(0,1));

cp.add(jp1);

cp.add(jp2);

ItemListener i1 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JRadioButton rb = (JRadioButton) e.getSource();

if  (rb==b1)

{jt.append("\n"+"您选择了"+b1.getActionCommand()+b1.isSelected());}

if(rb==b2) { jt.append("\n"+"您选择了"+b2.getActionCommand()+b2.isSelected());

}

}

};

b1.addItemListener(i1);

b2.addItemListener(i1);

ItemListener i2 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JCheckBox rb1 = (JCheckBox) e.getSource();

if (rb1 == a1)

{ jt.append("\n"+a1.getActionCommand()+ a1.isSelected());

} else if (rb1 == a2)

{ jt.append("\n"+a2.getActionCommand()+ a2.isSelected());

} else if (rb1 == a3)

{ jt.append("\n"+a3.getActionCommand()+ a3.isSelected());

} else if (rb1 == a4)

{ jt.append("\n"+a4.getActionCommand()+ a4.isSelected());

} else if (rb1 == a5)

{ jt.append("\n"+a5.getActionCommand()+ a5.isSelected());

} else if(rb1==a6)

{ jt.append("\n"+a6.getActionCommand()+ a6.isSelected());

}

}

};

a1.addItemListener(i2);

a2.addItemListener(i2);

a3.addItemListener(i2);

a4.addItemListener(i2);

a5.addItemListener(i2);

a6.addItemListener(i2);

jf.setVisible(true);

jf.setSize(500,450);

}

@Override

public void itemStateChanged(ItemEvent e) {

// TODO Auto-generated method stub

}

}

图 1个人简历界面

2.功能实现:

  • 姓名、年龄、民族可以输入个人信息。
  • 性别单选框选择下方文本框会显示选择的项目
  • 复选框爱好选择会在下方文本区域中显示。
  1. 主要实现方式:
  1. 单选框的实现:

JRadioButton b1= new JRadioButton("男");

JRadioButton b2= new JRadioButton("女");

ButtonGroup bg=new ButtonGroup ( );

bg.add(b1);

bg.add(b2);

jp1.add(b1);

jp1.add(b2);

将b1、b2 放在buttongroup里实现单选的效果。

  1. 复选框的实现:

JLabel jb2=new JLabel("爱好");

JCheckBox a1=new JCheckBox("唱歌");

JCheckBox a2=new JCheckBox("跳舞");

JCheckBox a3=new JCheckBox("编程");

JCheckBox a4=new JCheckBox("打游戏");

JCheckBox a5=new JCheckBox("游泳");

JCheckBox a6=new JCheckBox("跑步");

将a1,a2,a3,a4,a5,a6六个复选框的选项放到JcheckBox里实现复选框的功能。

  1. 实现选择单选框和复选框可在下方文本区显示的功能。

ItemListener i1 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JRadioButton rb = (JRadioButton) e.getSource();

if  (rb==b1)

{jt.append("\n"+"您选择了"+b1.getActionCommand()+b1.isSelected());}

if(rb==b2) { jt.append("\n"+"您选择了"+b2.getActionCommand()+b2.isSelected());

}

}

};

b1.addItemListener(i1);

b2.addItemListener(i1);

用事件监听来监听选择的项目,实现选择男或女可以在下方文本区显示

ItemListener i2 = new ItemListener ()

{ public void itemStateChanged(ItemEvent e)

{ JCheckBox rb1 = (JCheckBox) e.getSource();

if (rb1 == a1)

{ jt.append("\n"+a1.getActionCommand()+ a1.isSelected());

} else if (rb1 == a2)

{ jt.append("\n"+a2.getActionCommand()+ a2.isSelected());

} else if (rb1 == a3)

{ jt.append("\n"+a3.getActionCommand()+ a3.isSelected());

} else if (rb1 == a4)

{ jt.append("\n"+a4.getActionCommand()+ a4.isSelected());

} else if (rb1 == a5)

{ jt.append("\n"+a5.getActionCommand()+ a5.isSelected());

} else if(rb1==a6)

{ jt.append("\n"+a6.getActionCommand()+ a6.isSelected());

}

}

};

a1.addItemListener(i2);

a2.addItemListener(i2);

a3.addItemListener(i2);

a4.addItemListener(i2);

a5.addItemListener(i2);

a6.addItemListener(i2);

复选框同样使用itemListener监听器实现监听,将复选选中的项目显示在下方文本区里

java swing个人简历小实验相关推荐

  1. 基于Java+Swing实现雷电小游戏

    基于Java+Swing实现雷电小游戏 一.系统介绍 二.功能展示 三.其他系统 四.获取源码 一.系统介绍 基于java的雷电游戏基本功能包括:敌方飞机随机飞行.我方飞机手动控制飞行,射击比拼,游戏 ...

  2. java实验常见错误_求高手点拨一个Java SWING的IM系统实验的错误解决方案。

    高手,您好: 小弟遇到的代码场景为: 制作了一个Java SWING技术结合Socket技术实现的IM通信实验. 通信为双向全双工通信,通信方分为S端和C端. 下面,小弟贴出小弟的全部实验源代码,请高 ...

  3. java.swing 飞机大战小游戏

    上午没事刷到网上最近炒热了一些简单的小游戏和爱心代码,单身8个月了,对爱心代码不是很感冒,所以想蹭个热度,写一个飞机大站来玩玩. 首先,分析小游戏需要那些技术与怎么设计: 窗体,因为是java小游戏, ...

  4. Java Swing 贪吃蛇小游戏

    静态资源参考: 注:实际上没有用到header.png. 工程目录: 源码: package snake;import javax.swing.*; import java.net.URL;/*** ...

  5. 基于java swing的系统_Java实验--基于Swing的简单的歌曲信息管理系统(三)

    转载请注明出处,上一篇<Java实验--基于Swing的简单的歌曲信息管理系统(二)>介绍了项目的目录结构和Dao层,本篇主要讲解界面的绘制和业务层Service. 登录界面 登录界面设计 ...

  6. 像素鸟多线程java_用java Swing做的小游戏像素鸟-Go语言中文社区

    最终效果 整个项目都是基于swing实现的.窗是口将图片加载到JPanel面板,然后将面板添加到到JFrame窗口实现显示. 这个类是选择几只像素鸟的类,也是main函数里执行的方法,代码有详细的注释 ...

  7. java双线_[量化小实验] 双线 RSI 择时策略

    简介: RSI (Relative Strength Index) 强弱指标是由威尔斯.威尔德( Welles Wilder)最早应用于期货买卖,后来人们发现在众多的图表技术分析中,强弱指标的理论和实 ...

  8. Java Swing制作2048小游戏【完整版】

    技术讨论群:1005611884 可获取各种资料/代码,群内有Java/Python/C++/C#方向大佬,妹子多 /*** 技术 Swing* 实现思路:* 1. 绘制窗口* 2. 初始化游戏界面* ...

  9. 用java Swing做的小游戏quot;像素鸟quot;

    最终效果 整个项目都是基于swing实现的.窗是口将图片加载到JPanel面板,然后将面板添加到到JFrame窗口实现显示. 这个类是选择几只像素鸟的类,也是main函数里执行的方法,代码有详细的注释 ...

  10. java swing GUI 雷电小游戏,适合初级小白

    基于java的雷电游戏基本功能包括:敌方飞机随机飞行.我方飞机手动控制飞行,射击比拼,游戏闯关等.本系统结构如下:  (1)雷电游戏状态调整功能:     在游戏启动时,游戏会自动进行初始化的验证. ...

最新文章

  1. python 字典
  2. docker 网络 实现
  3. leetcode算法题--反转链表
  4. CTFshow 反序列化 web267
  5. vue项目中使用swiper
  6. map怎么转化dto_阿里面试题:为什么Map桶中个数超过8才转为红黑树
  7. tar包bz2和gz的对比
  8. requests 上传本地文件到服务器
  9. linux查看网卡吞吐量和网卡流量用自带命令,iptraf查看。
  10. [中铁六局北京铁建公司]举办的演讲比赛所使用的界面(现场抓拍照片)
  11. linux htdocs目录下,ubuntu解决htdocs目录的权限问题
  12. Windows驱动开发之DDK与WDK、WDM的区别
  13. 逃离北上广:你以为回到小城市就很幸福了吗?
  14. eval(转换html,js eval函数使用,js对象和字符串互转实例
  15. 【scipy】scipy.linalg.slove 求解线性方程组 python
  16. mt管理器java_MT管理器
  17. 采集日志实践-ELK以及filebeat配置解析
  18. Optisystem7.0安装教程(Win10系统)
  19. win7+GTX1060配置及运行TensorFlow
  20. 穿越洪荒之鸿蒙紫气系统,洪荒:吾乃鸿蒙至尊

热门文章

  1. 需求分解与需求跟踪矩阵
  2. Python 获取 Flash SWF 文件宽度和高度(Width, Height)
  3. 计算机的音乐怎么调,电脑怎么调整音频设备属性
  4. ABC互联 shopex网店主机 试用
  5. ARKit入门到精通-1.5 -基础内容-史小川-专题视频课程
  6. html音乐歌词同步,html歌词同步代码
  7. 百度大脑5.0实现史上最大升级,发布远场语音交互芯片“鸿鹄”
  8. 使用TextToSpeech朗读文字
  9. CocosCreator物理引擎Demo源码分析(1)-infinite-world
  10. 检测文章相似度的方法?文章原创度检测工具免费