本文共 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组件 */ } }