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