【java复习】java界面开发2,
分享于 点击 14606 次 点评:249
【java复习】java界面开发2,
面板组件JPanel
为什么会有面板组件?在图形用户界面编程中,如果只是普通的组件布局,只用前面的三种布局管理器就可以解决,但是比较复杂的布局要求时就要使用布局管理器的组合使用,如下图:
一个界面只可以有一个JFrame组件但是可以有多个JPanel组件,而JPanel上也可以使用前面介绍的布局管理器,这样组合使用可以达到较复杂的布局效果.
/*
* 演示JPanel使用,多种布局管理器的使用
* */
package com.fox.test1;
import java.awt.BorderLayout;
import javax.swing.*;
public class Demo8_5 extends JFrame{
//1.定义组件
JPanel jp1 = null;
JPanel jp2 = null;
JButton jb1 =null;
JButton jb2 =null;
JButton jb3 =null;
JButton jb4 =null;
JButton jb5 =null;
JButton jb6 =null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo8_5 test = new Demo8_5();
}
public Demo8_5() {
//JPanel默认是流式布局
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);
this.add(jp1,BorderLayout.NORTH);
this.add(jb6,BorderLayout.CENTER);
this.add(jp2,BorderLayout.SOUTH);
//设置组件
this.setTitle("JPanel的使用演示");//设置标题
this.setLocation(200, 200);//设置界面起始位置
this.setSize(400,300);//界面大小
this.setVisible(true);//显示界面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时保证jvm虚拟机也退出,关闭时节省系统资源
}
}
用户登录界面
布局分析:网格布局,三行一列,每行一个JPanel,然后在jpanel中再放置组件.
package com.fox.test1;
import java.awt.*;
import javax.swing.*;
public class Demo8_6 extends JFrame{
//定义组件,三个JPanel
JPanel jp1=null;
JPanel jp2=null;
JPanel jp3=null;
//2个JLabel
JLabel jlb1=null;
JLabel jlb2=null;
//2个JButton
JButton jb1 =null;//
JButton jb2 =null;
//一个文本输入框
JTextField jtf1=null;
//一个密码输入框
JPasswordField jpf =null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo8_6 test = 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);
jpf =new JPasswordField(10);
//设置布局管理器
this.setLayout(new GridLayout(3,1));
jp1.add(jlb1);
jp1.add(jtf1);
jp2.add(jlb2);
jp2.add(jpf);
jp3.add(jb1);
jp3.add(jb2);
//将三个JPanel加入到JFrame中
this.add(jp1);
this.add(jp2);
this.add(jp3);
//设置组件
this.setTitle("会员管理系统");//设置标题
this.setLocation(200, 200);//设置界面起始位置
this.setSize(300,150);//界面大小
this.setVisible(true);//显示界面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时保证jvm虚拟机也退出,关闭时节省系统资源
}
}
用户注册界面
复选框组件和单选框组件
布局分析:网格布局,3行1列,三个JPanel,
第一行JPanel:一个JTextField,一个JCheckBox
第二行JPanel:一个JTextField,一个JRadioButton
第三行两个JButton
package com.fox.test1;
import java.awt.GridLayout;
import javax.swing.*;
import java.awt.*;
public class Demo8_7 extends JFrame{
//1.定义组件
JPanel jp1=null;
JPanel jp2=null;
JPanel jp3=null;
JLabel jlb1 =null;
JCheckBox jcb1 =null;
JCheckBox jcb2 =null;
JCheckBox jcb3 =null;
JLabel jlb2=null;
//创建按钮组,把两个单选按钮添加到该组
ButtonGroup btnGroup = null;
JRadioButton jrb1=null;
JRadioButton jrb2=null;
JButton jb1=null;
JButton jb2=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo8_7 test = new Demo8_7();
}
public Demo8_7() {
jp1 =new JPanel();
jp2 =new JPanel();
jp3 =new JPanel();
jlb1=new JLabel("你喜欢的运动");
jcb1=new JCheckBox("足球");
jcb2=new JCheckBox("篮球");
jcb3=new JCheckBox("羽毛球");
jlb2=new JLabel("你的性别");
btnGroup=new ButtonGroup();
jrb1= new JRadioButton("男");
jrb2= new JRadioButton("女");
btnGroup.add(jrb1);
btnGroup.add(jrb2);
jb1= new JButton("注册用户");
jb2= new JButton("取消注册");
//设置布局管理器
this.setLayout(new GridLayout(3,1));
jp1.add(jlb1);
jp1.add(jcb1);
jp1.add(jcb2);
jp1.add(jcb3);
jp2.add(jlb2);
jp2.add(jrb1);
jp2.add(jrb2);
jp3.add(jb1);
jp3.add(jb2);
//将三个JPanel加入到JFrame中
this.add(jp1);
this.add(jp2);
this.add(jp3);
//设置组件
this.setTitle("用户注册界面");//设置标题
this.setLocation(200, 200);//设置界面起始位置
this.setSize(300,150);//界面大小
this.setVisible(true);//显示界面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时保证jvm虚拟机也退出,关闭时节省系统资源
}
}
用户调查界面
下拉框组件:JComboBox
列表框组件JList
滚动窗格组件JScrollPane
package com.fox.test1;
import java.awt.GridLayout;
import javax.swing.*;
public class Demo8_9 extends JFrame{
//1.定义组件
JPanel jp1=null;
JPanel jp2=null;
JLabel jlb1 =null;
JComboBox jcb =null;
JLabel jlb2 =null;
JList jl=null;
JScrollPane jsp =null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo8_9 test = new Demo8_9();
}
public Demo8_9(){
jp1 =new JPanel();
jp2 =new JPanel();
//创建jp1中的组件
jlb1=new JLabel("你的籍贯是");
String jg[] = { "山东", "江苏", "安徽", "北京", "上海", "浙江" };
jcb =new JComboBox(jg);
//创建jp2中的组件
jlb2=new JLabel("你喜欢去旅游的地区是");
jl=new JList();
String dd[]= {"丽江","故宫","天安门","长城"};
jl.setListData(dd);
jsp =new JScrollPane(jl);
jl.setVisibleRowCount(2);
//设置布局管理器
this.setLayout(new GridLayout(2,1));
//添加jp1中的组件
jp1.add(jlb1);
jp1.add(jcb);
//添加jp2中的组件
jp2.add(jlb2);
jp2.add(jsp);//只需要添加JScrollPane就可以了不要添加JLsit
//将三个JPanel加入到JFrame中
this.add(jp1);
this.add(jp2);
//设置组件
this.setTitle("用户调查界面");//设置标题
this.setLocation(200, 200);//设置界面起始位置
this.setSize(300,150);//界面大小
this.setVisible(true);//显示界面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时保证jvm虚拟机也退出,关闭时节省系统资源
}
}
相关文章
- 暂无相关文章
用户点评