java学习(18)图形用户界面(2)

 *笔记
 * 一、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
		
		//设置窗体属性
		
		//显示
	}
}

猜你喜欢

转载自blog.csdn.net/shuiyixin/article/details/79335759