java学习(19)图形用户界面(3)

/**
 * 一、多行文本框组件(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("<html><a href = 'www.qq.com'>申请密码保护</a></html>",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("<html><a href = 'www.qq.com'>申请密码保护</a></html>",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("<html><a href = 'www.qq.com'>申请密码保护</a></html>",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组件
		 */
	}
	
}

猜你喜欢

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