您的位置:首页 > 编程语言 > Java开发

JAVASE学习(14)Swing应用

2016-12-14 21:14 387 查看
1)拆分窗格:JSplitPane属于容器类组件

/*
* 仿金山词霸
* */

package com.test;
import java.awt.*;
import javax.swing.*;
public class Demo9 extends JFrame{
//定义组件
JSplitPane jsp;
JList jList;
JLabel jLabel;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo9 demo9=new Demo9();
}
public Demo9() {
// TODO Auto-generated constructor stub
//创建组件
String []words={"boy","girl","bird"};
jList=new JList(words);
jLabel=new JLabel(new ImageIcon("img/ciba.jpg"));
//拆分窗格
jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jList,jLabel);
//可以伸缩变化
jsp.setOneTouchExpandable(true);
//设置布局管理器
//添加组件
this.add(jsp);
//设置大小
this.setSize(400, 300);
this.setLocation(500, 200);
this.setTitle("金山词霸");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

}
/*
* 仿QQ聊天界面,涉及JTextArea多行文本框组件
* */
package com.test;

import java.awt.*;

import javax.swing.*;

public class Demo10 extends JFrame{
//定义组件
JTextArea jta=null;
JPanel jPanel=null;
JComboBox jcb=null;
JTextField jtf=null;
JButton jb=null;
JScrollPane jsp=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo10 demo10=new Demo10();
}
public Demo10() {
// TODO Auto-generated constructor stub
//创建组件
jta=new JTextArea();
jsp=new JScrollPane(jta);
jPanel=new JPanel();
String []chatter={"奥巴马","普京"};
jcb=new JComboBox(chatter);
jtf=new JTextField(10);
jb=new JButton("发送");
//设置布局

//添加组件
jPanel.add(jcb);
jPanel.add(jtf);
jPanel.add(jb);

//加入JFrame
this.add(jsp);
this.add(jPanel,BorderLayout.SOUTH);
//设置属性
this.setSize(300,200);
this.setTitle("QQ聊天");
this.setLocation(500,300);
this.setIconImage(new ImageIcon("img/qq.jpg").getImage());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);

}

}

/*QQ登陆界面
* */
package com.test;

import java.awt.*;
import javax.swing.*;

public class Demo11 extends JFrame{
//定义组件
//北部区域
JLabel jLabel1;
//南部区域
JButton button1,button2,button3;
JPanel jPanel1;
//	中部区域
JTabbedPane jTabbedPane;//选项卡窗口
JPanel jPanel2,jPanel3,jPanel4;

JLabel jLabel2,jLabel3,jLabel4,jLabel5;
//号码输入文本框
JTextField jTextField;
//密码
JPasswordField jPasswordField;
//清除号码button
JButton button4;
//隐身登陆,记住密码
JCheckBox box1,box2;

public static void main(String[] args) {
// TODO Auto-generated method stub
Demo11 demo11=new Demo11();
}
public Demo11() {
// TODO Auto-generated constructor stub
//创建组件
jLabel2=new JLabel("QQ号码 ", JLabel.CENTER);
jLabel3=new JLabel("QQ密码 ", JLabel.CENTER);

jLabel4=new JLabel("忘记密码", JLabel.CENTER);
jLabel4.setFont(new Font("宋体", Font.PLAIN, 16));//设置字体样式
jLabel4.setForeground(Color.BLUE);//设置字体颜色方法
jLabel5=new JLabel("<html><a href='www.qq.com'>申请密码保护</a></html>");
jLabel5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

//输入号码框
jTextField=new JTextField(11);
//输入密码框
jPasswordField=new JPasswordField(11);

//	button4=new JButton("清除");
//button放入图片
button4=new JButton(new ImageIcon("img/clear.gif"));
//复选框
box1=new JCheckBox("隐身登录");
box2=new JCheckBox("记住密码");

//		北部区域
jLabel1=new JLabel(new ImageIcon("img/tou.gif"));

//南部区域
jPanel1=new JPanel();
//button1=new JButton("登录");
button1=new JButton(new ImageIcon("img/denglu.gif"));
//	button2=new JButton("取消");
button2=new JButton(new ImageIcon("img/quxiao.gif"));
button3=new JButton(new ImageIcon("img/xiangdao.gif"));

//中部区域
jTabbedPane=new JTabbedPane();
jPanel2=new JPanel();
jPanel3=new JPanel();
jPanel3.setBackground(Color.RED);//给面板设置背景色
jPanel4=new JPanel();
jPanel4.setBackground(new Color(0, 0, 255));

//将面板添加到选项卡窗格上
jTabbedPane.add("QQ号码", jPanel2);//第一个参数代表选项卡的名称
jTabbedPane.add("手机号码", jPanel3);
jTabbedPane.add("电子邮箱", jPanel4);

//添加组件
jPanel1.add(button1);
jPanel1.add(button2);
jPanel1.add(button3);

jPanel2.add(jLabel2);
jPanel2.add(jTextField);
jPanel2.add(button4);
jPanel2.add(jLabel3);
jPanel2.add(jPasswordField);
jPanel2.add(jLabel4);
jPanel2.add(box1);
jPanel2.add(box2);
jPanel2.add(jLabel5);

this.add(jPanel1,BorderLayout.SOUTH);
this.add(jLabel1,BorderLayout.NORTH);
this.add(jTabbedPane,BorderLayout.CENTER);

//展现组件
ImageIcon icon=new ImageIcon("img/qq.gif");
this.setIconImage(icon.getImage());//给窗体设置图标方法
this.setSize(350, 260);
this.setLocation(600,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);

}

}


记事本界面

涉及到新的swing组件

1)菜单组件

JMenuBar   菜单条组件  树干

JMenu  菜单组件            
树枝

JMenuItem 菜单项组件树叶

2)二级菜单制作

JMenu里面可以嵌套JMenu

3)工具条组件

JToolBar 容器类组件

/*
*记事本界面
*
* */
package com.test;

import javax.swing.*;
import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

public class Demo12 extends JFrame{
//定义组件
JMenuBar jmb;
JMenu menu1,menu2,menu3,menu4,menu5,menu6;
JMenuItem item1,item2,item3,item4,item5,item6,item7;
JMenu xinjian;//二级菜单
JMenuItem file,project;

JTextArea jta;
//工具条
JToolBar jtb;
JButton jb1,jb2,jb3,jb4,jb5,jb6;
public Demo12() {
// TODO Auto-generated constructor stub
//创建组件
jtb=new JToolBar();
jb1=new JButton("新建");
//		jb1=new JButton(new ImageIcon("new.jpg"));
jb1.setToolTipText("新建");//设置提示信息
jb2=new JButton("打开");
//		jb1=new JButton(new ImageIcon("OPEN.jpg"));
jb2.setToolTipText("打开");//设置提示信息
jb3=new JButton("保存");
jb4=new JButton("复制");
jb5=new JButton("剪切");
jb6=new JButton("粘贴");

jmb=new JMenuBar();
menu1=new JMenu("文件(F)");
menu1.setMnemonic('F');//设置助记符
menu2=new JMenu("编辑(E)");
menu2.setMnemonic('E');
menu3=new JMenu("格式(O)");
menu3.setMnemonic('O');
menu4=new JMenu("查看(V)");
menu4.setMnemonic('V');
menu5=new JMenu("帮助(H)");
menu5.setMnemonic('H');

xinjian=new JMenu("新建");
file=new JMenuItem("文件");
project=new JMenuItem("工程");

item2=new JMenuItem("打开");
item3=new JMenuItem("保存(S)");
item3.setMnemonic('S');
//给菜单项添加快捷方式
item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
item4=new JMenuItem("另存为(A)");
item5=new JMenuItem("页面设置(U)");
item6=new JMenuItem("打印(P)");
item7=new JMenuItem("退出(X)");

jta=new JTextArea();
//设置布局

//添加组件
//将按钮添加到工具条上
jtb.add(jb1);
jtb.add(jb2);
jtb.add(jb3);
jtb.add(jb4);
jtb.add(jb5);
jtb.add(jb6);

//将菜单项添加到菜单上
xinjian.add(file);
xinjian.add(project);

menu1.add(xinjian);
menu1.add(item2);
menu1.add(item3);
menu1.add(item4);
menu1.addSeparator();//添加分隔线
menu1.add(item5);
menu1.add(item6);
menu1.addSeparator();
menu1.add(item7);

//将菜单添加到菜单条上
jmb.add(menu1);
jmb.add(menu2);
jmb.add(menu3);
jmb.add(menu4);
jmb.add(menu5);

//将菜单条添加到窗体上
this.setJMenuBar(jmb);

//将菜单条添加到窗体上
this.add(jtb,BorderLayout.NORTH);

JScrollPane jsp=new JScrollPane(jta);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.add(jsp);

//展现
this.setTitle("记事本");
this.setSize(500, 400);//
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);

}

public static void main(String[] args) {
// TODO Auto-generated method stub
Demo12 demo12=new Demo12();
}

}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JAVASE JAVA