java swing个人简历小实验
一、实验目的
通过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.功能实现:
- 姓名、年龄、民族可以输入个人信息。
- 性别单选框选择下方文本框会显示选择的项目
- 复选框爱好选择会在下方文本区域中显示。
- 主要实现方式:
- 单选框的实现:
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里实现单选的效果。
- 复选框的实现:
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里实现复选框的功能。
- 实现选择单选框和复选框可在下方文本区显示的功能。
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个人简历小实验相关推荐
- 基于Java+Swing实现雷电小游戏
基于Java+Swing实现雷电小游戏 一.系统介绍 二.功能展示 三.其他系统 四.获取源码 一.系统介绍 基于java的雷电游戏基本功能包括:敌方飞机随机飞行.我方飞机手动控制飞行,射击比拼,游戏 ...
- java实验常见错误_求高手点拨一个Java SWING的IM系统实验的错误解决方案。
高手,您好: 小弟遇到的代码场景为: 制作了一个Java SWING技术结合Socket技术实现的IM通信实验. 通信为双向全双工通信,通信方分为S端和C端. 下面,小弟贴出小弟的全部实验源代码,请高 ...
- java.swing 飞机大战小游戏
上午没事刷到网上最近炒热了一些简单的小游戏和爱心代码,单身8个月了,对爱心代码不是很感冒,所以想蹭个热度,写一个飞机大站来玩玩. 首先,分析小游戏需要那些技术与怎么设计: 窗体,因为是java小游戏, ...
- Java Swing 贪吃蛇小游戏
静态资源参考: 注:实际上没有用到header.png. 工程目录: 源码: package snake;import javax.swing.*; import java.net.URL;/*** ...
- 基于java swing的系统_Java实验--基于Swing的简单的歌曲信息管理系统(三)
转载请注明出处,上一篇<Java实验--基于Swing的简单的歌曲信息管理系统(二)>介绍了项目的目录结构和Dao层,本篇主要讲解界面的绘制和业务层Service. 登录界面 登录界面设计 ...
- 像素鸟多线程java_用java Swing做的小游戏像素鸟-Go语言中文社区
最终效果 整个项目都是基于swing实现的.窗是口将图片加载到JPanel面板,然后将面板添加到到JFrame窗口实现显示. 这个类是选择几只像素鸟的类,也是main函数里执行的方法,代码有详细的注释 ...
- java双线_[量化小实验] 双线 RSI 择时策略
简介: RSI (Relative Strength Index) 强弱指标是由威尔斯.威尔德( Welles Wilder)最早应用于期货买卖,后来人们发现在众多的图表技术分析中,强弱指标的理论和实 ...
- Java Swing制作2048小游戏【完整版】
技术讨论群:1005611884 可获取各种资料/代码,群内有Java/Python/C++/C#方向大佬,妹子多 /*** 技术 Swing* 实现思路:* 1. 绘制窗口* 2. 初始化游戏界面* ...
- 用java Swing做的小游戏quot;像素鸟quot;
最终效果 整个项目都是基于swing实现的.窗是口将图片加载到JPanel面板,然后将面板添加到到JFrame窗口实现显示. 这个类是选择几只像素鸟的类,也是main函数里执行的方法,代码有详细的注释 ...
- java swing GUI 雷电小游戏,适合初级小白
基于java的雷电游戏基本功能包括:敌方飞机随机飞行.我方飞机手动控制飞行,射击比拼,游戏闯关等.本系统结构如下: (1)雷电游戏状态调整功能: 在游戏启动时,游戏会自动进行初始化的验证. ...
最新文章
- python 字典
- docker 网络 实现
- leetcode算法题--反转链表
- CTFshow 反序列化 web267
- vue项目中使用swiper
- map怎么转化dto_阿里面试题:为什么Map桶中个数超过8才转为红黑树
- tar包bz2和gz的对比
- requests 上传本地文件到服务器
- linux查看网卡吞吐量和网卡流量用自带命令,iptraf查看。
- [中铁六局北京铁建公司]举办的演讲比赛所使用的界面(现场抓拍照片)
- linux htdocs目录下,ubuntu解决htdocs目录的权限问题
- Windows驱动开发之DDK与WDK、WDM的区别
- 逃离北上广:你以为回到小城市就很幸福了吗?
- eval(转换html,js eval函数使用,js对象和字符串互转实例
- 【scipy】scipy.linalg.slove 求解线性方程组 python
- mt管理器java_MT管理器
- 采集日志实践-ELK以及filebeat配置解析
- Optisystem7.0安装教程(Win10系统)
- win7+GTX1060配置及运行TensorFlow
- 穿越洪荒之鸿蒙紫气系统,洪荒:吾乃鸿蒙至尊
热门文章
- 需求分解与需求跟踪矩阵
- Python 获取 Flash SWF 文件宽度和高度(Width, Height)
- 计算机的音乐怎么调,电脑怎么调整音频设备属性
- ABC互联 shopex网店主机 试用
- ARKit入门到精通-1.5 -基础内容-史小川-专题视频课程
- html音乐歌词同步,html歌词同步代码
- 百度大脑5.0实现史上最大升级,发布远场语音交互芯片“鸿鹄”
- 使用TextToSpeech朗读文字
- CocosCreator物理引擎Demo源码分析(1)-infinite-world
- 检测文章相似度的方法?文章原创度检测工具免费