博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习(18)图形用户界面(2)
阅读量:4074 次
发布时间:2019-05-25

本文共 4316 字,大约阅读时间需要 14 分钟。

 *笔记
 * 一、swing组件——文本框(JTextField)/密码框(JPasswordField)/标签(JLable)
 * 二、swing组件——单选框(JRadioButton)/复选框(JCheckBox)
 *    注:同一组单选按钮必须先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中。
 * 三、swing组件——下拉框组件(JComboBox)/列表框组件(JList)/滚动窗格组件(JScrollPane)
 *    注:列表框组件和滚动窗格组件是结合使用的。目的是让列表框中的选项可以有滚动条的支持。

 * 四、拆分窗格(JSplitPane)

package com.shuiyixin1;/** * @作者:shuiyixin * @日期:2018.02.18 * @内容:图形用户界面(GUI) *  */import java.awt.*;import javax.swing.*;public class learnJ_009tuxing2 extends JFrame{	//定义组件	JPanel jp[] = new JPanel[3];//面板组件	JButton jbu1,jbu2;//按钮	JLabel jl1,jl2;//标签	JTextField jtf1;//文本框	JPasswordField jpf1;//密码框		JCheckBox jc[] = new JCheckBox[3];//复选框	JRadioButton jrb1,jrb2;//单选框	ButtonGroup bg ;//ButtonGroup		JComboBox jcb1;//下拉框组件	JScrollPane jsp1;	JList jli1;//列表框组件		JSplitPane jspp1;	public static void main(String[] args) {		// TODO Auto-generated method stub		learnJ_009tuxing2 dl = new learnJ_009tuxing2();		//dl.tuxing_denglu();		//dl.tuxing_zhuce();		//dl.tuxing_diaocha();		dl.jinshanciba();	}			//实现简易登录界面,利用:文本框(JTextField)/密码框(JPasswordField)/标签(JLable)	public void tuxing_denglu(){		//创建组件		//1.面板组件		jp[0] = new JPanel();		jp[1] = new JPanel();		jp[2] = new JPanel();		//2.按钮		jbu1 = new JButton("登录");		jbu2 = new JButton("取消");		//3.标签		jl1 = new JLabel("用户名");		jl2 = new JLabel("密  码");		//4.文本框与密码框		jtf1 = new JTextField(10);		jpf1 = new JPasswordField(10);				//设置布局管理器		this.setLayout(new GridLayout(3,1));//三行一列				//加入各个组件		//第一行		jp[0].add(jl1);		jp[0].add(jtf1);		//第二行		jp[1].add(jl2);		jp[1].add(jpf1);		//第三行		jp[2].add(jbu1);		jp[2].add(jbu2);				//加入到JFrame		this.add(jp[0]);		this.add(jp[1]);		this.add(jp[2]);				//设置窗体属性		this.setTitle("登录界面");		this.setSize(300, 240);		this.setLocation(500, 500);		this.setResizable(false);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);				//显示		this.setVisible(true);	}	//实现简易注册界面,利用:单选框(JRadioButton)/复选框(JCheckBox)/标签(JLable)	public void tuxing_zhuce(){		//创建组件		//1.面板组件		jp[0] = new JPanel();		jp[1] = new JPanel();		jp[2] = new JPanel();		//2.标  签:爱好,性别		jl1 = new JLabel("爱好");		jl2 = new JLabel("性别");		//3.选择框:多选(爱好:健身,音乐,数学),单选(性别:男,女)注意单选框必须放在bg中,但是也得每一个分别放入面板组件		jc[0] = new JCheckBox("健身");		jc[1] = new JCheckBox("音乐");		jc[2] = new JCheckBox("数学");		bg = new ButtonGroup();		jrb1 = new JRadioButton("男");		jrb2 = new JRadioButton("女");		bg.add(jrb1);		bg.add(jrb2);		//4.按  钮:注册,取消		jbu1 = new JButton("注册");		jbu2 = new JButton("取消");				//加入各个组件		//第一行		jp[0].add(jl1);		jp[0].add(jc[0]);		jp[0].add(jc[1]);		jp[0].add(jc[2]);		//第二行		jp[1].add(jl2);		jp[1].add(jrb1);		jp[1].add(jrb2);		//第三行		jp[2].add(jbu1);		jp[2].add(jbu2);				//设置布局管理器		this.setLayout(new GridLayout(3,1));				//加入到JFrame		this.add(jp[0]);		this.add(jp[1]);		this.add(jp[2]);				//设置窗体属性		this.setTitle("注册");		this.setSize(300, 240);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		this.setResizable(false);				//显示		this.setVisible(true);			}		//实现简易调查界面	public void tuxing_diaocha(){		//创建组件		jp[0] = new JPanel();		jp[1] = new JPanel();				jl1 = new JLabel("目的地");		jl2 = new JLabel("出发地");				String []jcbox = {"北京","上海","天津","张家口"};//下拉框选项		jcb1 = new JComboBox(jcbox);//下拉框组件		String []jlist = {"阳原","滦南","化稍营","益堵泉"};//列表框选项		jli1 = new JList(jlist);//列表框组件		jli1.setVisibleRowCount(2);//显示可显示的数量		jsp1 = new JScrollPane(jli1);//通过滚动窗格来控制显示与隐藏				//设置布局管理器		this.setLayout(new GridLayout(2,1));				//加入各个组件		//第一行		jp[0].add(jl1);		jp[0].add(jcb1);		//第二行		jp[1].add(jl2);		jp[1].add(jsp1);				//加入到JFrame		this.add(jp[0]);		this.add(jp[1]);				//设置窗体属性		this.setTitle("简易调查问卷");		this.setSize(300,200);		this.setResizable(false);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);				//显示		this.setVisible(true);	}			//金山词霸	public void jinshanciba(){		//创建组件		String []words = {"about","above","able","abstract","abandon","ability"};		jli1 = new JList(words);				jl1 = new JLabel(new ImageIcon("images/jscb.jpg"));				//拆分窗格		jspp1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jli1,jl1);				//设置伸缩		jspp1.setOneTouchExpandable(true);				//设置布局管理器				//加入各个组件		this.add(jspp1);				//加入到JFrame						//设置窗体属性		this.setTitle("金山词霸");		this.setSize(300,200);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		//显示		this.setVisible(true);	}				//模板demo	public void demo(){		//创建组件				//设置布局管理器				//加入各个组件				//加入到JFrame				//设置窗体属性				//显示	}}

转载地址:http://iyyni.baihongyu.com/

你可能感兴趣的文章
PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()
查看>>
IA32时钟周期的一些内容
查看>>
获得github工程中的一个文件夹的方法
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
PostgreSQL查询优化器详解之逻辑优化篇
查看>>
STM32中assert_param的使用
查看>>
C语言中的 (void*)0 与 (void)0
查看>>
vu 是什么
查看>>
io口的作用
查看>>
IO口的作用
查看>>
UIView的使用setNeedsDisplay
查看>>
归档与解归档
查看>>
Window
查看>>
为什么button在设置标题时要用一个方法,而不像lable一样直接用一个属性
查看>>
字符串的截取
查看>>
2. Add Two Numbers
查看>>
17. Letter Combinations of a Phone Number (DFS, String)
查看>>
93. Restore IP Addresses (DFS, String)
查看>>
19. Remove Nth Node From End of List (双指针)
查看>>
49. Group Anagrams (String, Map)
查看>>