更新时间:2022-06-20 10:14:29 来源:极悦 浏览947次
1.边界布局:BorderLayout。他主要分为五个布局,是JFrame(顶层容器),JDialog(创建对话框窗口的类)的默认布局方式。其最多容量为5个组件,超出5个得用其他的。设置方式为:BorderLayout.NORTH;BorderLayout.SOUTH;BorderLayout.CENTER;Borderlayout.CENTER;BorderLayout.LEFT;BorderLayout.RIGHT。
2.流式布局:FlowLayout。布局方式为从左到右,从上到下。是JPanel(轻量级容器)的默认面板布局。
3.网格布局:GridLayout。布局方式为行和列组成的网络。布局方法:setLayout(new GridLayout(3,2,3,3));其中强两位数字表示三行两列,后两位表示行与行的间距为3,列与列的间距为3.
接着,就接触到JPanel面板。JPanel是非顶层容器,所以,一个界面只能由一个JFrame,但是可以有多个JPanel组件。其默认布局方式为流式布局。在JPanel这块,学到了用户登录界面的设计。从而接触到另外三个组件:文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。
1.用户登陆界面:
具体代码如下:
import javax.swing.*;
import java.awt.*; //导入必要的包
public class denglu extends JFrame{
JTextField jTextField ; //定义文本框组件
JPasswordField jPasswordField; //定义密码框组件
JLabel jLabel1,jLabel2;
JPanel jp1,jp2,jp3;
JButton jb1,jb2; //创建按钮
public denglu(){
jTextField = new JTextField(12);
jPasswordField = new JPasswordField(13);
jLabel1 = new JLabel("用户名");
jLabel2 = new JLabel("密码");
jb1 = new JButton("确认");
jb2 = new JButton("取消");
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
//设置布局
this.setLayout(new GridLayout(3,1));
jp1.add(jLabel1);
jp1.add(jTextField);//第一块面板添加用户名和文本框
jp2.add(jLabel2);
jp2.add(jPasswordField);//第二块面板添加密码和密码输入框
jp3.add(jb1);
jp3.add(jb2); //第三块面板添加确认和取消
// jp3.setLayout(new FlowLayout()); //因为JPanel默认布局方式为FlowLayout,所以可以注销这段代码.
this.add(jp1);
this.add(jp2);
this.add(jp3); //将三块面板添加到登陆框上面
//设置显示
this.setSize(300, 200);
//this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle("登陆");
}
public static void main(String[] args){
new denglu();
}
}
2.根据复选框组件等其他组件,又写了用户调查界面:
具体代码:
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import java.awt.*;
public class diaocha extends JFrame{
JCheckBox jcb1,jcb2,jcb3;
JRadioButton jrb1,jrb2;
JLabel jLabel1,jLabel2;
JPanel jp1,jp2;
public diaocha(){
jcb1 = new JCheckBox("华商报");
jcb2 = new JCheckBox("三秦都市报");
jcb3 = new JCheckBox("西安晚报");
jrb1 = new JRadioButton("男");
jrb2 = new JRadioButton("女");
jLabel1 = new JLabel("您最常读的报纸");
jLabel2 = new JLabel("您的性别");
jp1 = new JPanel();
jp2 = new JPanel();
//设置布局
this.setLayout(new GridLayout(2, 1));
//添加组件
jp1.add(jLabel1);
jp1.add(jcb1);
jp1.add(jcb2);
jp1.add(jcb3);
jp2.add(jLabel2);
//现在这样的话,最后还是会对性别进行全部选择的。所以添加按钮对象,对同一组单选按钮惊醒分组
ButtonGroup bGroup = new ButtonGroup();
bGroup.add(jrb1);
bGroup.add(jrb2);
jp2.add(jrb1);
jp2.add(jrb2);
this.add(jp1);
this.add(jp2);
//设置展示面板
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(200, 200);
}
public static void main(String[] args){
new diaocha();
}
}
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习