简单编程 (二十八)窗体的创建设计如下GUI界面

设计如下GUI界面:(当用户点击“完成”按钮后,把姓名、性别、兴趣等信息显示在文本区域中,点击“取消”按钮后,所有组件回复到初始状态)

<span style="font-size:14px;"><strong>import java.awt.Button;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.TextArea;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.TextEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

class denglu extends JFrame{
	private JLabel userJLabel,pwdJLabel,danxuan;
	private JTextField text;
	private JPasswordField password;
	private JButton buttn,quxiao;
	private JPanel pan;
	private JCheckBox jcb1=new JCheckBox("听歌");
	private JCheckBox jcb2=new JCheckBox("轮滑");
	private JCheckBox jcb3=new JCheckBox("街舞");
	private JCheckBox jcb4=new JCheckBox("计算机");
	private JRadioButton xuanzeyes=new JRadioButton("男");
	private JRadioButton xuanzeno=new JRadioButton("女");
	private JTextArea textArea;
	private String name;
	public denglu(){
		textArea=new JTextArea(15, 15);
		textArea.setLineWrap(true);
		JScrollPane jScrollPane=new JScrollPane(textArea);
		Container container1=this.getContentPane();

		Toolkit toolkit=Toolkit.getDefaultToolkit();
		Dimension dimension=toolkit.getScreenSize();
		setSize(dimension.width/3,dimension.height/3);
		setTitle("基本信息输入窗体");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setResizable(true);
		Container container=this.getContentPane();
		FlowLayout flowLayout=new FlowLayout();
		container.setLayout(flowLayout);
		userJLabel=new JLabel("用户名:");
		Icon icon=new ImageIcon("img/Water lilies.JPG");
		userJLabel.setIcon(icon);
		text=new JTextField(10);
		danxuan=new JLabel("性别:");
		ButtonGroup bu=new ButtonGroup();
		bu.add(this.xuanzeyes);
		bu.add(this.xuanzeno);

		pan=new JPanel();

		pan.setBorder(BorderFactory.createTitledBorder("兴趣"));
		pan.setLayout(new GridLayout(1, 4));

		pan.add(jcb1);
		pan.add(jcb2);
		pan.add(jcb3);
		pan.add(jcb4);
		buttn=new JButton("完成(L)");
		buttn.setMnemonic('j');
		quxiao=new JButton("取消(C)");
		quxiao.setMnemonic('C');
		setVisible(true);
		container.add(userJLabel);
		container.add(text);
		container.add(danxuan);
		container.add(xuanzeyes);
		container.add(xuanzeno);
		container.add(pan);
		container.add(buttn);
		container.add(quxiao);
		container.add(textArea);
		MyActionListener listener=new MyActionListener();

		buttn.addActionListener(listener);
		quxiao.addActionListener(listener);

}
class MyActionListener implements ActionListener{
		public void actionPerformed(ActionEvent arg0) {
			if(arg0.getSource()==buttn){
				String s="姓名:";
				s+=text.getText();
				s+="\n性别:";
				s+=xuanzeyes.isSelected()?"男":"女";
				s+="\n爱好:";
				if(jcb2.isSelected()==true){
					s+="轮滑";

				}
				if(jcb3.isSelected()==true){
					s+="街舞";
				}
				if(jcb4.isSelected()==true){
					s+="计算机";
				}
				if(jcb1.isSelected()==true){
					s+="听歌";
				}
				textArea.setText(s);
			}else{
				textArea.setText(null);
				jcb1.setSelected(false);jcb2.setSelected(false);jcb3.setSelected(false);jcb4.setSelected(false);
				xuanzeyes.setSelected(false);xuanzeno.setSelected(false);
				text.setText(null);

			}

		}
	}

}
public class fg {

	public static void main(String[] args) {
		denglu dl=new denglu();

	}

}
</strong></span>
时间: 2024-08-29 11:55:58

简单编程 (二十八)窗体的创建设计如下GUI界面的相关文章

Redis源代码分析(二十八)--- object创建和释放redisObject物

今天的学习更有效率.该Rio分析过,学习之间的另一种方式RedisObject文件,只想说RedisObject有些生成和转换.都是很类似的.列出里面长长的API列表: /* ------------ API --------------------- */ robj *createObject(int type, void *ptr) /* 最初的创建robj对象方法,后面的创建方法与此相似 */ robj *createStringObject(char *ptr, size_t len)

ActionScript3游戏中的图像编程(连载二十八)

2.2.1 投影颜色与透明度的模拟 默认的投影滤镜看着比Photoshop的投影样式浑浊,究其原因,似乎是颜色太深所致.(图 2.11). 图 2.11 设置默认投影滤镜后的效果 下面回到Photoshop查看其默认的投影参数(图 2.12). 图 2.12 Photoshop默认投影样式的参数 茫茫人海,我还是第一眼发现了你--颜色样本块.同是黑色,RGB都等于0,怎么差别还这么大?看来是A通道--不透明度惹的祸.从图 2.12中,我们看到Photoshop里对阴影设置了75%的不透明度,那F

[原创]ActionScript3游戏中的图像编程(连载二十八)

2.2.1 投影颜色与透明度的模拟 默认的投影滤镜看着比Photoshop的投影样式浑浊,究其原因,似乎是颜色太深所致.(图 2.11). 图 2.11 设置默认投影滤镜后的效果 下面回到Photoshop查看其默认的投影参数(图 2.12). 图 2.12 Photoshop默认投影样式的参数 茫茫人海,我还是第一眼发现了你——颜色样本块.同是黑色,RGB都等于0,怎么差别还这么大?看来是A通道——不透明度惹的祸.从图 2.12中,我们看到Photoshop里对阴影设置了75%的不透明度,那F

纯干货!二十八道BATJ大厂Java岗之"多线程与并发"面试题分享

年底了,又到了跳槽季啦,该刷题走起了.这里总结了一些被问到可能会懵逼的面试真题,有需要的可以看下- 一.进程与线程 进程是资源分配的最小单位,线程是cpu调度的最小单位.线程也被称为轻量级进程. 所有与进程相关的资源,都被记录在PCB中 进程是抢占处理及的调度单位:线程属于某个进程,共享其资源 一个 Java 程序的运行是 main 线程和多个其他线程同时运行. 二.Thread中的start和run方法的区别 调用start()方法会创建一个新的子线程并启动 run()方法只是Thread的一

二十八、Linux下Vim工具常用命令

在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来. 当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了.Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令 移动命令 h "左 j "下 k "上 l "右 w "光标移动到下一个单词的首字符 a word forward b "光标移动到上一个单词的首

Cocos2dx 3.0 过渡篇(二十八)C++11强类型枚举

一朋友在微信朋友圈晒了张照片,随手点开大图,带着欣赏的眼光扫了下,恩,几个月不见,又漂亮了...咦?等等,她戴的这是什么?酷炫的造型!金属边框!微型摄像头!这不是传说中的谷歌眼镜么?土豪啊,还好我们已经是朋友了...我先给了她一个赞,然后直奔主题,霸气回复道:我过几天去找你,你戴的是谷歌眼镜吧,哼哼小样,不想死的话...就让我...摸一下下可以么,我不奢求戴,摸一下就满足了...(哎,丢人啊). ------------------- 在cocos2dx 3.0的文档里有这么一句话:以 k 开头

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t

企业搜索引擎开发之连接器connector(二十八)

通常一个SnapshotRepository仓库对象对应一个DocumentSnapshotRepositoryMonitor监视器对象,同时也对应一个快照存储器对象,它们的关联是通过监视器管理对象DocumentSnapshotRepositoryMonitorManagerImpl实现的 DocumentSnapshotRepositoryMonitorManagerImpl类要实现那些行为,先查看其实现接口DocumentSnapshotRepositoryMonitorManager定义

angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构

ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入angular-resource.min.js文件 2.在模块中依赖ngResourece,在服务中注入$resource var HttpREST = angular.module('HttpREST',['ngResource']); HttpREST.factory('cardResource