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

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

/**
 * 一、多行文本框组件(JTextArea)
 * 二、选项卡窗格(页签组件)JTabbedPane
 * 三、菜单组件
 *    1.JMenuBar    菜单条组件   树干
 *    2.JMenu       菜单组件     树枝
 *    3.JMenuItem   菜单项组件   树叶
 * 四、二级菜单制作
 *    JMenu里面可以嵌套JMenu
 * 五、工具条组件
 *    JToolBar      容器类组件
 *

 */

package com.shuiyixin1;import java.awt.*;import javax.swing.*;public class learnJ_010tuxing3 extends JFrame{	/**	 * @作者:shuiyixin	 * @日期:2018.02.20	 * @内容:图形用户界面(GUI)	 */	//QQ聊天界面	JTextArea jta1;//多行文本框 同样用于记事本	JPanel jp1;//面板组件	JComboBox jcb1;//下拉框组件   同样用于记事本	JTextField jtf1,jtf2,jtf3;// 同样用于QQ登录界面	JButton jbu1;	JScrollPane jsp1;		//QQ登录界面	//4个JPanel面板组件,1个JTabbedPane选项卡窗格,13个JLabel标签,3个JTextField文本框,	//3个JPasswordField密码框,6个JCheckBox复选框,6个JButton按钮	JPanel jp[] = new JPanel[4];	JTabbedPane jtp;	JPasswordField jpf1,jpf2,jpf3;	JLabel jl[] = new JLabel[13];	JCheckBox jcb[] = new JCheckBox[6];	JButton jb[] = new JButton[6]; //同样用于记事本中		//记事本	//1个JMenuBar菜单条组件,5个JMenu菜单组件,3个JMenuItem组件,	//1个多行文本框,1个下拉框组件	JMenuBar jmb;;	JMenu jm[] = new JMenu[5];	JMenu jm1;	JMenuItem jmi[] = new JMenuItem[10];	JToolBar jtb;		public static void main(String[] args) {		// TODO Auto-generated method stub		learnJ_010tuxing3 tx1 = new learnJ_010tuxing3();		//tx1.tuxing_QQ();		//tx1.tuxing_QQLogin();		tx1.tuxing_text();	}		//QQ聊天界面	public void tuxing_QQ(){		//创建组件		jta1 = new JTextArea();		jsp1 = new JScrollPane(jta1);		jp1 = new JPanel();		String zt[] = {"在线","离线","隐身","勿扰","离开"};		jcb1 = new JComboBox(zt);		jtf1 = new JTextField(5);		jbu1 = new JButton("发送");		//设置布局管理器				//加入各个组件		jp1.add(jcb1);		jp1.add(jtf1);		jp1.add(jbu1);		//加入到JFrame		this.add(jsp1,BorderLayout.CENTER);		this.add(jp1,BorderLayout.SOUTH);		//设置窗体属性		this.setTitle("QQ聊天");		this.setIconImage(new ImageIcon("images/qq.png").getImage());		this.setSize(300,200);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		//显示		this.setVisible(true);	}		//QQ登录界面	public void tuxing_QQLogin(){		//创建组件		for (int i = 0; i < 4; i++) {			jp[i] = new JPanel();		}		jtp = new JTabbedPane();		jtf1 = new JTextField(18);		jtf2 = new JTextField(18);		jtf3 = new JTextField(18);		jpf1 = new JPasswordField(18);		jpf2 = new JPasswordField(18);		jpf3 = new JPasswordField(18);				jl[0] = new JLabel(new ImageIcon("images/NorthImage.png"));		jl[1] = new JLabel("QQ号码:",JLabel.CENTER);		jl[2] = new JLabel("密码:",JLabel.CENTER);		jl[3] = new JLabel("忘记密码",JLabel.CENTER);		jl[3].setFont(new Font("宋体",Font.PLAIN,13));		jl[3].setForeground(Color.blue);		jl[4] = new JLabel("申请密码保护",JLabel.CENTER);				jl[5] = new JLabel("手机号:",JLabel.CENTER);		jl[6] = new JLabel("密码:",JLabel.CENTER);		jl[7] = new JLabel("忘记密码",JLabel.CENTER);		jl[7].setFont(new Font("宋体",Font.PLAIN,13));		jl[7].setForeground(Color.blue);		jl[8] = new JLabel("申请密码保护",JLabel.CENTER);				jl[9] = new JLabel("邮箱号:",JLabel.CENTER);		jl[10] = new JLabel("密码:",JLabel.CENTER);		jl[11] = new JLabel("忘记密码",JLabel.CENTER);		jl[11].setFont(new Font("宋体",Font.PLAIN,13));		jl[11].setForeground(Color.blue);		jl[12] = new JLabel("申请密码保护",JLabel.CENTER);				jcb[0] = new JCheckBox("隐身登录");		jcb[1] = new JCheckBox("记住密码");		jcb[2] = new JCheckBox("隐身登录");		jcb[3] = new JCheckBox("记住密码");		jcb[4] = new JCheckBox("隐身登录");		jcb[5] = new JCheckBox("记住密码");				jb[0] = new JButton("清除号码");		jb[4] = new JButton("清除号码");		jb[5] = new JButton("清除号码");		jb[1] = new JButton("登录");		jb[2] = new JButton("取消");		jb[3] = new JButton("注册向导");		//设置布局管理器		jp[0].setLayout(new GridLayout(3,3));		jp[1].setLayout(new GridLayout(3,3));		jp[2].setLayout(new GridLayout(3,3));		//加入各个组件		jp[0].add(jl[1]);		jp[0].add(jtf1);		jp[0].add(jb[0]);		jp[0].add(jl[2]);		jp[0].add(jpf1);		jp[0].add(jl[3]);		jp[0].add(jcb[0]);		jp[0].add(jcb[1]);		jp[0].add(jl[4]);				jp[1].add(jl[5]);		jp[1].add(jtf2);		jp[1].add(jb[4]);		jp[1].add(jl[6]);		jp[1].add(jpf2);		jp[1].add(jl[7]);		jp[1].add(jcb[2]);		jp[1].add(jcb[3]);		jp[1].add(jl[8]);				jp[2].add(jl[9]);		jp[2].add(jtf3);		jp[2].add(jb[5]);		jp[2].add(jl[10]);		jp[2].add(jpf3);		jp[2].add(jl[11]);		jp[2].add(jcb[4]);		jp[2].add(jcb[5]);		jp[2].add(jl[12]);				jp[3].add(jb[1]);		jp[3].add(jb[2]);		jp[3].add(jb[3]);				jtp.add("QQ号码",jp[0]);		jtp.add("手机号码",jp[1]);		jtp.add("电子邮箱",jp[2]);		//加入到JFrame		this.add(jl[0],BorderLayout.NORTH);		this.add(jtp,BorderLayout.CENTER);		this.add(jp[3],BorderLayout.SOUTH);		//设置窗体属性		this.setTitle("QQ2010");		this.setIconImage(new ImageIcon("images/qq.png").getImage());		this.setSize(370,250);		//this.setResizable(false);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		//显示		this.setVisible(true);				/**		 * @分析		 *  分北,中,南三层。		 *  北为图片,用JLabel标签;		 *  		 *  中为三个选项,用JTabbedPane,选项卡窗格;		 *    三个选项分别为QQ号码、手机号码、电子邮箱。		 *    1.QQ号码 		 *      采用网格布局管理,分三行三列:		 *       标签(QQ号码:)    文本框             按钮(清除账号)		 *       标签(密码:)      密码框             标签+样式(忘记密码)		 *       复选框(隐身登录)   复选框(记住密码)   标签+超链接+样式(申请密码保护)		 *       		 *    2.手机号码		 *      采用网格布局管理,分三行三列:		 *       标签(手机号:)    文本框             按钮(清除账号)		 *       标签(密码:)      密码框             标签+样式(忘记密码)		 *       复选框(隐身登录)   复选框(记住密码)   标签+超链接+样式(申请密码保护)		 *       		 *    3.电子邮箱		 *      采用网格布局管理,分三行三列:		 *       标签(邮箱号:)    文本框             按钮(清除账号)		 *       标签(密码:)      密码框             标签+样式(忘记密码)		 *       复选框(隐身登录)   复选框(记住密码)   标签+超链接+样式(申请密码保护)		 *    		 *  南为三个按钮,用JPanel面板组件。		 *    1.登录		 *    2.取消		 *    3.注册向导		 *    		 *  4个JPanel面板组件,1个JTabbedPane选项卡窗格,13个JLabel标签,3个JTextField文本框,		 *  3个JPasswordField密码框,6个JCheckBox复选框,6个JButton按钮		 */			}		//记事本	public void tuxing_text(){		//创建组件		jmb = new JMenuBar();		jm[0] = new JMenu("文件(F)");		jm[0].setMnemonic('F');//设置助记符		jm[1] = new JMenu("编辑(E)");		jm[1].setMnemonic('E');//设置助记符		jm[2] = new JMenu("格式(O)");		jm[2].setMnemonic('O');//设置助记符		jm[3] = new JMenu("查看(V)");		jm[3].setMnemonic('V');//设置助记符		jm[4] = new JMenu("帮助(H)");		jm[4].setMnemonic('H');//设置助记符				jm1 = new JMenu("新建");		jmi[1] = new JMenuItem("打开");		jmi[2] = new JMenuItem("保存");		jmi[3] = new JMenuItem("另存为");		jmi[4] = new JMenuItem("页面设置");		jmi[5] = new JMenuItem("打印");		jmi[6] = new JMenuItem("退出");				jmi[7] = new JMenuItem("text");		jmi[8] = new JMenuItem("word");		jmi[9] = new JMenuItem("excel");				jtb = new JToolBar();		jb[0] = new JButton("NEW");//设置为图片也可以		jb[0].setToolTipText("新建");		jb[1] = new JButton("OPEN");//设置为图片也可以		jb[1].setToolTipText("打开");		jb[2] = new JButton("SAVE");//设置为图片也可以		jb[2].setToolTipText("保存");		jb[3] = new JButton("COPY");//设置为图片也可以		jb[3].setToolTipText("复制");		jb[4] = new JButton("CUT");//设置为图片也可以		jb[4].setToolTipText("剪切");		jb[5] = new JButton("EXIT");//设置为图片也可以		jb[5].setToolTipText("退出");				jta1 = new JTextArea();		jsp1 = new JScrollPane(jta1);		//加入各个组件		jm1.add(jmi[7]);		jm1.add(jmi[8]);		jm1.add(jmi[9]);				jm[0].add(jm1);		jm[0].add(jmi[1]);		jm[0].add(jmi[2]);		jm[0].add(jmi[3]);		jm[0].add(jmi[4]);		jm[0].add(jmi[5]);		jm[0].add(jmi[6]);				jmb.add(jm[0]);		jmb.add(jm[1]);		jmb.add(jm[2]);		jmb.add(jm[3]);		jmb.add(jm[4]);				jtb.add(jb[0]);		jtb.add(jb[1]);		jtb.add(jb[2]);		jtb.add(jb[3]);		jtb.add(jb[4]);		jtb.add(jb[5]);		//加入到JFrame		this.setJMenuBar(jmb);		this.add(jtb,BorderLayout.NORTH);		this.add(jsp1,BorderLayout.CENTER);		//设置窗体属性		this.setTitle("记事本");		this.setIconImage(new ImageIcon("images/textTitle.png").getImage());		this.setSize(600,300);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		//显示		this.setVisible(true);				/**		 * @分析		 *  一个菜单条组件,有五个菜单:文件(F),编辑(E),查看(O),格式(V),帮助(H)。		 *  文件:新建(文本,文档,表格),打开,保存,另存为,页面设置,打印,退出。		 *  编辑:撤销,剪切,粘贴,复制,删除。		 *  查看:...		 *  帮助:...		 *  		 *  1个JMenuBar菜单条组件,5个JMenu菜单组件,7个JMenuItem组件		 */	}	}
你可能感兴趣的文章