业精于勤而荒于嬉,行成于思而毁于随。——韩愈
本讲内容:常用组件
一、拆分窗格(JSplitPane)属于容器类组件
注意JLabel可以放图片
public class Text extends JFrame{
//定义组件
JSplitPane cf;//拆分窗口
JList lb;
JLabel bq;
public static void main(String[] args) {
Text t=new Text();
}
public Text() {
//创建组件
String[] aa={"软件开发","游戏开发","平面设计","动漫制作","室内设计"};
lb=new JList(aa);
bq=new JLabel(new ImageIcon("images\\k.jpg"));// /=\\一正斜杠等于二反斜杠
cf=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,lb,bq);
//HORIZONTAL_SPLIT左右拆分VERTICAL_SPLIT上下拆分
cf.setOneTouchExpandable(true);//左右可全显示
//增加组件
this.add(cf);
//设置窗体属性
this.setTitle("计算机学科分类—小劲");
this.setLocation(300, 300);
this.setSize(400,300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
二、多行文本框组件(JTextArea)
一般与JScrollPane滚动条一起使用
public class Text extends JFrame{
//定义组件
JTextArea wby;
JPanel mb;
JComboBox xlk;
JButton an;
JTextField wbk;
JScrollPane gd;
public static void main(String[] args) {
Text t=new Text();
}
public Text() {
//创建组件
wby=new JTextArea();
mb=new JPanel();
String[] aa={"悟空","八戒","沙僧","小白龙"};
xlk=new JComboBox(aa);
an=new JButton("发送");
wbk=new JTextField(10);
gd=new JScrollPane(wby);
//增加组件
mb.add(xlk); mb.add(wbk); mb.add(an);
this.add(gd); this.add(mb,BorderLayout.SOUTH);
//设置窗体属性
this.setTitle("qq—小劲");
this.setIconImage((new ImageIcon("images\\qq.jpg")).getImage());
this.setLocation(300, 300);
this.setSize(400,300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
三、选项卡窗格(JTabbedPane)页签组件
public class Text extends JFrame{
//定义组件
JLabel bq1;//北部
JButton an1,an2,an3;//南部
JPanel mb1;
JTabbedPane xxk;//中部
JPanel mb2,mb3,mb4;
JLabel bq2,bq3,bq4,bq5;
JTextField wbk;
JPasswordField mmk;
JButton an4;
JCheckBox fxk1,fxk2;
public static void main(String[] args) {
Text t=new Text();
}
public Text() {
//北部
bq1=new JLabel(new ImageIcon("images/k.jpg"));
//南部
mb1=new JPanel();
an1=new JButton("登录");
<span style="white-space:pre"> </span>an2=new JButton("取消");
<span style="white-space:pre"> </span>an3=new JButton("向导");
<span style="white-space:pre"> </span>mb1.add(an1); mb1.add(an2); mb1.add(an3);
<span style="white-space:pre"> </span>//中部
<span style="white-space:pre"> </span>mb2=new JPanel();
<span style="white-space:pre"> </span>mb3=new JPanel();
mb3.setBackground(Color.BLUE);
mb4=new JPanel();
mb4.setBackground(Color.green);
xxk=new JTabbedPane();
<span style="white-space:pre"> </span>bq2=new JLabel("qq号码",JLabel.CENTER);//文字放在中间
bq3=new JLabel("qq密码",JLabel.CENTER);
bq4=new JLabel("忘记密码",JLabel.CENTER);
bq4.setFont(new Font("宋体",Font.PLAIN,17));
bq4.setForeground(Color.blue);//设置字体颜色丰富的
bq5=new JLabel("<html><a href='www.qq.com'>申请密码保护</a>");
bq5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//移动到这会出现手形
wbk=new JTextField();
mmk=new JPasswordField();//网格大了
an4=new JButton("取消号码");
fxk1=new JCheckBox("隐身登陆");
fxk2=new JCheckBox("记住密码");
mb2.setLayout(new GridLayout(3,3));
mb2.add(bq2); mb2.add(wbk); mb2.add(an4); mb2.add(bq3); mb2.add(mmk);
mb2.add(bq4); mb2.add(fxk1); mb2.add(fxk2); mb2.add(bq5);
xxk.add("普通用户",mb2); xxk.add("QQ会员",mb3); xxk.add("管理员",mb4);
//增加组件
this.add(mb1,BorderLayout.SOUTH);
this.add(bq1,BorderLayout.NORTH);
this.add(xxk);
//设置窗体属性
this.setTitle("qq—小劲");
this.setIconImage((new ImageIcon("images\\qq.jpg")).getImage());
this.setLocation(300, 300);
this.setSize(400,400);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
四、记事本界面
1、菜单组件(不参与布局,只需this.setJMenuBar(cd); 将菜单添加到窗体上)
JMenuBar 菜单条组件 树干
JMenu 菜单组件 树枝
JMenuItem 菜单项组件 树叶
2、二级菜单制作
JMenu里面可以嵌套JMenu
3、工具条组件(参与布局)
JToolBar 容器类组件
public class Text extends JFrame{
//定义组件
JMenuBar cd;//菜单条组件
JMenu cd1,cd2,cd3,cd4,cd5;
JMenuItem ycd1,ycd2,ycd3,ycd4,ycd5,ycd6,ycd7;
JMenuItem ycd1_1,ycd1_2;//二级菜单
JToolBar gjt;//工具条
JButton an1,an2,an3,an4,an5;
JTextArea wby;
JScrollPane gdt;
public static void main(String[] args) {
Text t=new Text();
}
public Text() {
//菜单
cd=new JMenuBar();
cd1=new JMenu("文件(F)");
cd1.setMnemonic('F');//设置快捷键
cd2=new JMenu("编辑(E)");
cd2.setMnemonic('E');
cd3=new JMenu("格式(O)");
cd3.setMnemonic('O');
cd4=new JMenu("查看(V)");
cd4.setMnemonic('V');
cd5=new JMenu("帮助(H)");
cd5.setMnemonic('H');
ycd1=new JMenu("新建");
ycd1_1=new JMenuItem("文件",new ImageIcon("image/a.jpg"));
ycd1_2=new JMenuItem("模板");
ycd2=new JMenuItem("打开",new ImageIcon("image/a.jpg"));
ycd3=new JMenuItem("保存(S)",new ImageIcon("image/a.jpg"));
ycd3.setMnemonic('S');
ycd4=new JMenuItem("另存为");
ycd5=new JMenuItem("页面设置");
ycd6=new JMenuItem("打印");
ycd7=new JMenuItem("退出");
ycd1.add(ycd1_1); ycd1.add(ycd1_2);
cd1.add(ycd1); cd1.add(ycd2); cd1.add(ycd3); cd1.add(ycd4);
cd1.addSeparator();//设置一条线
cd1.add(ycd5); cd1.add(ycd6);
cd1.addSeparator();
cd1.add(ycd7);
cd.add(cd1); cd.add(cd2); cd.add(cd3); cd.add(cd4); cd.add(cd5);
this.setJMenuBar(cd); //将菜单添加到窗体上
//工具条
gjt=new JToolBar();
an1=new JButton(new ImageIcon("images/4.gif"));
an1.setToolTipText("新建");//设置提示文字
an2=new JButton(new ImageIcon("images/1.gif"));
an2.setToolTipText("打开");
an3=new JButton(new ImageIcon("images/4.gif"));
an3.setToolTipText("保存");
an4=new JButton(new ImageIcon("images/2.gif"));
an4.setToolTipText("剪切");
an5=new JButton(new ImageIcon("images/1.gif"));
an5.setToolTipText("复制");
gjt.add(an1); gjt.add(an2); gjt.add(an3); gjt.add(an4); gjt.add(an5);
wby=new JTextArea();
gdt=new JScrollPane(wby);
//增加组件
this.add(gjt,BorderLayout.NORTH);
this.add(gdt);
//设置窗体属性
this.setTitle("迷你版记事本—小劲");
this.setIconImage((new ImageIcon("images\\qq.jpg")).getImage());
this.setLocation(300, 300);
this.setSize(400,400);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
本讲就到这里,Take your time and enjoy it