Java笔记4(布局管理器、常用组件、qq聊天界面、记事本)

[color=blue][size=x-large]文件结构[/size][/color]
[img]http://images.cnblogs.com/cnblogs_com/luowei010101/201107/201107150807002455.png[/img]

布局管理器Demo8_1.java 

package com.test1;



import javax.swing.JButton;

import javax.swing.JFrame;



public class Demo8_1 extends JFrame //继承JFrame

{

/**

* @param args

*/



public static void main(String[] args)

{

Demo8_1 demo8_1=new Demo8_1();



}



//把需要的组件定义在这里

JButton jb1=null; //定义一个按钮



//构造函数

public Demo8_1()

{

JFrame是一个顶层容器类(可以添加其它swing组件的类)

//JFrame jf=new JFrame();



//给窗体设置标题

this.setTitle("Hello world");



//设置大小,按像素

this.setSize(200, 200);



//设置初始位置

this.setLocation(100,200);



//创建一个按钮

jb1=new JButton("我是一个按钮!");



//添加JButton组件

this.add(jb1);



//设置当关闭窗口时,保证JVM也退出

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



//显示

this.setVisible(true);

}

}



常用组件常Demo8_2.java

/*

* BorderLayout演示

* 1.继承JFrame

* 2.定义组件

* 3.创建组件(构造函数)

* 4.添加组件

* 5.对窗体设置

* 6.显示窗体

*/



package com.test1;

import java.awt.*;

import javax.swing.*;

public class Demo8_2 extends JFrame{



/**

* @param args

*/



//定义组件

JButton jb1,jb2,jb3,jb4,jb5;



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_2 demo8_2=new Demo8_2();

}



public Demo8_2()

{

//创建组件

jb1=new JButton("中部");

jb2=new JButton("北部");

jb3=new JButton("南部");

jb4=new JButton("东部");

jb5=new JButton("西部");



//添加各个组件

this.add(jb1,BorderLayout.CENTER);

this.add(jb2,BorderLayout.NORTH);

this.add(jb3,BorderLayout.SOUTH);

this.add(jb4,BorderLayout.EAST);

this.add(jb5,BorderLayout.WEST);



//设置窗体属性

this.setTitle("边界布局的案例");

this.setSize(300,200);

this.setLocation(200,200);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



//显示窗体

this.setVisible(true);

}

}

Demo8_3.java

/*

* 功能:流式:流式布局案例

*/



package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_3 extends JFrame{



/**

* @param args

*/

//定义需要的组件

JButton jb1,jb2,jb3,jb4,jb5,jb6;



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_3 demo8_3 =new Demo8_3();



}



//构造函数

public Demo8_3()

{

//创建组件

jb1=new JButton("关羽");

jb1.setSize(100, 100);

jb2=new JButton("张飞");

jb3=new JButton("赵云");

jb4=new JButton("马超");

jb5=new JButton("黄忠");

jb6=new JButton("魏延");



//添加组件

this.add(jb1);

this.add(jb2);

this.add(jb3);

this.add(jb4);

this.add(jb5);

this.add(jb6);



//设置布局管理器

this.setLayout(new FlowLayout(FlowLayout.LEFT));



//设置窗体属性

this.setTitle("流式布局案例");

this.setSize(350,200);

this.setLocation(200,200);



//禁止用户改变窗体大小

this.setResizable(false);



this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



//显示

this.setVisible(true);

}

}



swing编程实战Demo8_4.java

/*

* 风格布局

*/

package com.test1;

import java.awt.*;

import javax.swing.*;

public class Demo8_4 extends JFrame{



int size=9;

//定义组件

JButton jbs[]=new JButton[size];



public static void main(String[] args) {

// TODO Auto-generated method stub

//创建实例

Demo8_4 demo8_4=new Demo8_4();

}



//构造函数

public Demo8_4()

{

//创建组件

for(int i=0;ijava

/*

* 多种布局管理器的使用

*/



package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_5 extends JFrame {



//定义组件

JPanel jp1,jp2;

JButton jb1,jb2,jb3,jb4,jb5,jb6;



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_5 demo8_5=new Demo8_5();

}



//构造函数

public Demo8_5()

{

//创建组件

//JPanel布局默认是FlowLayout

jp1=new JPanel();

jp2=new JPanel();



jb1=new JButton("西瓜");

jb2=new JButton("苹果");

jb3=new JButton("荔枝");

jb4=new JButton("葡萄");

jb5=new JButton("桔子");

jb6=new JButton("香蕉");



//设置布局

//添加

jp1.add(jb1);

jp1.add(jb2);

jp2.add(jb3);

jp2.add(jb4);

jp2.add(jb5);





//把Panel加入JFrame

this.add(jp1,BorderLayout.NORTH);

this.add(jb6,BorderLayout.CENTER);

this.add(jp2,BorderLayout.SOUTH);



this.setSize(300,150);

this.setLocation(200,200);

this.setVisible(true);

}

}

Demo8_6.java

package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_6 extends JFrame{



/**

* @param args

*/

//定义组件

JPanel jp1,jp2,jp3; //三个子面板

JLabel jlb1,jlb2; //标签

JButton jb1,jb2; //两个按钮

JTextField jtf1,jpf1; //两个文本输入框



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_6 demo8_6=new Demo8_6();

}



//构造函数

public Demo8_6()

{

jp1=new JPanel();

jp2=new JPanel();

jp3=new JPanel();



jlb1=new JLabel("用户名:");

jlb2=new JLabel("密码:");

jb1=new JButton("登录");

jb2=new JButton("取消");



jtf1=new JTextField(10); //用户名文本框

jpf1=new JPasswordField(10); //密码文本框



//设置布局管理

this.setLayout(new GridLayout(3,1));



//加入各个组件

jp1.add(jlb1);

jp1.add(jtf1);



jp2.add(jlb2);

jp2.add(jpf1);



jp3.add(jb1);

jp3.add(jb2);



//加入到JFrame

this.add(jp1);

this.add(jp2);

this.add(jp3);



this.setTitle("会员管理系统");

this.setSize(250,130);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

Demo8_7.java

/*

* 复选框或单选框的案例

*/



package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_7 extends JFrame{



//定义

JPanel jp1,jp2,jp3;

JLabel jl1,jl2;

JButton jb1,jb2;

JCheckBox jcb1,jcb2,jcb3;

JRadioButton jrb1,jrb2;

ButtonGroup bg;



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_7 dmeo8_7=new Demo8_7();

}



//构造函数

public Demo8_7()

{

//创建组件

jp1=new JPanel();

jp2=new JPanel();

jp3=new JPanel();

jl1=new JLabel("你喜欢的运动:");

jl2=new JLabel("你的性别:");

jb1=new JButton("注册用户");

jb2=new JButton("取消注册");



jcb1=new JCheckBox("足球");

jcb2=new JCheckBox("篮球");

jcb3=new JCheckBox("网球");



jrb1=new JRadioButton("男");

jrb2=new JRadioButton("女");



//一定要把jrb1,jrb2放入到一个ButtonGroup

ButtonGroup bg=new ButtonGroup();

bg.add(jrb1);

bg.add(jrb2);



//设置布局管理器

this.setLayout(new GridLayout(3,1));



//添加组件

jp1.add(jl1);

jp1.add(jcb1);

jp1.add(jcb2);

jp1.add(jcb3);



jp2.add(jl2);

jp2.add(jrb1);

jp2.add(jrb2);



jp3.add(jb1);

jp3.add(jb2);



this.add(jp1);

this.add(jp2);

this.add(jp3);



this.setSize(300,150);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

Demo8_8.java

/*

* JCombobox/JList/JScrollPane

*/



package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_8 extends JFrame {



//定义

JPanel jp1,jp2;

JLabel jl1,jl2;

JComboBox jcb1;

JList jlist;

JScrollPane jsp;



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_8 demo8_8=new Demo8_8();

}



//构造函数

public Demo8_8()

{

jp1=new JPanel();

jp2=new JPanel();



jl1=new JLabel("你的籍贯:");

jl2=new JLabel("旅游地点:");



String []jg={"北京","上海","天津","火星"};

jcb1=new JComboBox(jg);



String []dd={"九寨沟","故宫","长城","兵马俑"};

jlist=new JList(dd);

jlist.setVisibleRowCount(2);//设置你希望显示多少个选项



jsp=new JScrollPane(jlist);





//设置布局

this.setLayout(new GridLayout(3,1));



//添加组件

jp1.add(jl1); //加到面板1当中

jp1.add(jcb1);



jp2.add(jl2); //加到面板2当中

jp2.add(jsp);



this.add(jp1); //把面板加入到窗体当中

this.add(jp2);



//设置窗体属性

this.setSize(200,180);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}



Demo8_9.java

/*

* 词霸

*/



package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_9 extends JFrame{



//定义组件

JSplitPane jsp;

JList jList;

JLabel jl1;



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_9 demo8_9=new Demo8_9();

}



public Demo8_9()

{

//创建组件

String []words={"迈克尔-杰克逊","中国","导游"};

jList=new JList(words);



jl1=new JLabel(new ImageIcon("images/迈克尔-杰克逊2.jpg"));



//拆分窗格

jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jList,jl1);



//设置窗格可以伸缩

jsp.setOneTouchExpandable(true);



//设置布局管理器





//添加组件

this.add(jsp);



//设置大小

this.setSize(550,632);

this.setLocation(200,200);

this.setVisible(true);

}

}



Demo8_10.java

/*

* qq聊天器

*/



package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_10 extends JFrame{



JTextArea jta=null;

JScrollPane jsp=null; //滚动面板

JPanel jp1=null;

JComboBox jcb=null;

JTextField jtf=null;

JButton jb=null;



public static void main(String[] args) {

// TODO Auto-generated method stub

Demo8_10 demo8_10=new Demo8_10();

}



//构造

public Demo8_10()

{

jta=new JTextArea();

jsp=new JScrollPane(jta); //为文本域添加滚动条

jp1=new JPanel();

String []chatter={"布什","拉登"};

jcb=new JComboBox(chatter);

jtf=new JTextField(10);

jb=new JButton("发送");



//设置布局



//添加组件

jp1.add(jcb);

jp1.add(jtf);

jp1.add(jb);



//加入JFrame

this.add(jsp);

this.add(jp1,BorderLayout.SOUTH);



//设置窗体属性

this.setSize(300,200);

this.setIconImage((new ImageIcon("images\\rowin2.gif")).getImage());

this.setTitle("简单QQ");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}



Demo8_11.java

/*

* qq登录界面制作

*/



package com.test1;

import java.awt.*;

import javax.swing.*;



public class Demo8_11 extends JFrame{



//北部区域

JLabel jl1;



//南部区域

JButton jb1,jb2,jb3;

JPanel jp1;



//中部区域

JTabbedPane jtp;//选项卡窗格

JPanel jp2,jp3,jp4;//三个子面板



JLabel jl2,jl3,jl4,jl5;



//号码输入文本框

JTextField jtf;

//密码

JPasswordField jpf;

//清除号码button

JButton jb4;

//隐身登录,记住密码

JCheckBox jcb1,jcb2;



public Demo8_11()

{

//创建组件

jl2=new JLabel("QQ号码",JLabel.CENTER);

jl3=new JLabel("QQ密码",JLabel.CENTER);

jl4=new JLabel("忘记密码",JLabel.CENTER);



jl4.setFont(new Font("宋体",Font.PLAIN,16));//设置字体样式

jl4.setForeground(Color.BLUE);//设置字体颜色

jl5=new JLabel("申请密码保护");

jl5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));



//输入号码框

jtf=new JTextField();

//输入密码框

jpf=new JPasswordField();

jb4=new JButton(new ImageIcon("images\\清除号码.jpg"));



//复选框

jcb1=new JCheckBox("隐身登录");

jcb2=new JCheckBox("记住密码");



//北部区域

jl1=new JLabel(new ImageIcon("images\\老虎.jpg"));



//南部区域

jp1=new JPanel();

jb1=new JButton(new ImageIcon("images\\登录.gif"));

jb2=new JButton(new ImageIcon("images\\取消.gif"));

jb3=new JButton(new ImageIcon("images\\向导.gif"));



//中部区域

jtp=new JTabbedPane();

jp2=new JPanel();

jp3=new JPanel();

jp3.setBackground(Color.RED);//给面板设置背景颜色

jp4=new JPanel();

jp4.setBackground(new Color(0,0,255));//用另一种方法设置背景颜色



//将面板添加到选项卡窗格上

jtp.add("QQ号码",jp2); //第一个参数代表选项卡的名称,第二个参数代表面板

jtp.add("手机号码",jp3);

jtp.add("电子邮箱",jp4);



//设置布局

jp2.setLayout(new GridLayout(3,3));



//添加组件

//南部

jp1.add(jb1);

jp1.add(jb2);

jp1.add(jb3);



//中部

jp2.add(jl2);//QQ号码

jp2.add(jtf);//号码框

jp2.add(jb4);//清除号码按钮

jp2.add(jl3);//密码

jp2.add(jpf);//密码框

jp2.add(jcb1);//记住密码

jp2.add(jcb2);//隐身登录

jp2.add(jl5);//申请密码保护



this.add(jp1,BorderLayout.SOUTH);//加入南部子面板

this.add(jl1,BorderLayout.NORTH);//加入北部子面板

this.add(jtp,BorderLayout.CENTER);//把选项卡加入中部



//展现组件

ImageIcon icon=new ImageIcon("images\\rowin.gif");

this.setIconImage(icon.getImage());

this.setSize(350,240);

this.setLocation(300,400);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);



}



public static void main(String[] args) {

new Demo8_11();

}

}

Demo8_12.java

/*

* 记事本界面

*/



package com.test1;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;



public class Demo8_12 extends JFrame{

JMenuBar jmb;//菜单条组件

JMenu menu1,menu2,menu3,menu4,menu5;

JMenuItem item2,item3,item4,item5,item6,item7;

JMenu xinjian;//二级菜单

JMenuItem file,project;



JTextArea jta; //文本输入区域



//工具条

JToolBar jtb;

JButton jb1,jb2,jb3,jb4,jb5,jb6;



public Demo8_12()

{

//创建组件

jtb=new JToolBar();

jb1=new JButton(new ImageIcon("images\\new.jpg"));

jb1.setToolTipText("新建");//设置提示信息

jb2=new JButton(new ImageIcon("images\\open.jpg"));

jb2.setToolTipText("打开");

jb3=new JButton(new ImageIcon("images\\save.jpg"));

jb4=new JButton(new ImageIcon("images\\copy.jpg"));

jb5=new JButton(new ImageIcon("images\\cut.jpg"));

jb6=new JButton(new ImageIcon("images\\paste.jpg"));



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');



//item1=new JMenuItem("新建");

xinjian=new JMenu("新建");

file=new JMenuItem("文件");

project=new JMenuItem("工程");



item2=new JMenuItem("打开",new ImageIcon("new.gif"));

item3=new JMenuItem("保存(s)");

item3.setMnemonic('s');



//给菜单添加快捷方式

item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.ALT_MASK));

item4=new JMenuItem("另存为");

item5=new JMenuItem("页面设置");

item6=new JMenuItem("打印");

item7=new JMenuItem("退出");



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);

menu2.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_AS_NEEDED);

this.add(jsp);



//展现

this.setTitle("记事本");

ImageIcon icon=new ImageIcon("images\\rowin.gif");

this.setIconImage(icon.getImage());//设置窗体图标

this.setSize(500,400);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}



public static void main(String[] args) {

Demo8_12 demo8_12=new Demo8_12();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值