Java基础4

文件结构

 

布局管理器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;i<size;i++)

{

jbs[i]=new JButton(String.valueOf(i));

}

//设置风格布局

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

//第1个参数是风格的行数,第2个参数是风格的列数

 

//添加组件

for(int i=0;i<size;i++)

{

this.add(jbs[i]);

}

 

//设置窗体属性

this.setTitle("风格布局案例");

this.setSize(300,200);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocation(200,200);

 

//显示

this.setVisible(true);

}

}

Demo8_5.java

/*

* 多种布局管理器的使用

*/

 

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("<html><a href='www.qq.com'>申请密码保护</a></html>");

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

}

}

 

posted @ 2011-07-15 08:07  维唯为为  阅读(525)  评论(0编辑  收藏  举报