大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说java 中 swing 五种常见的布局方式是什么?_JAVA常用的五大框架,希望您对编程的造诣更进一步.
Swing 框架介绍
是一个 Java 图形化界面的库。
Swing 框架中的组件
(1)顶层容器:JFrame窗口,JDialog对话框
(2)中间容器:JPanel(相当于div,容器组件),JOptionPane,JTabbedPane(选项卡面板), JSplitPane(分割面板),JScrollPane(带滚动条的面部组件),JLayeredPane(层级面板)等
(3)基本组件:JLabel(标签),JButton(按钮),JRadioButton(单选按钮), JTextField(文本框),JTextArea(文本区域), JPasswordField(密码框),JcheckBox(复选框),Jlist(列表),JComboBox(下拉列表框) JProgressBar(进度条),JSlider(滑块)
Swing 常用页面布局
边界布局
代码如下:
package com.cdx.test;
import javax.swing.*;
import java.awt.*;
public class BorderLayoutExample extends JFrame {
JButton btn1 = new JButton("东");
JButton btn2 = new JButton("南");
JButton btn3 = new JButton("西");
JButton btn4 = new JButton("北");
JButton btn5 = new JButton("中");
BorderLayoutExample() {
init();
this.setTitle("边界布局");
// 可以由用户调整大小
this.setResizable(true);
// 设置大小
// this.setSize(200, 200);
// 动态调整此窗口的大小
this.pack();
// 设置为null,表示居中
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init() {
this.setLayout(new BorderLayout(10, 5)); //默认为0,0;水平间距10,垂直间距5
this.add(btn1, BorderLayout.EAST);
this.add(btn2, BorderLayout.SOUTH);
this.add(btn3, BorderLayout.WEST);
this.add(btn4, BorderLayout.NORTH);
this.add(btn5, BorderLayout.CENTER);
}
public static void main(String args[]) {
new BorderLayoutExample();
}
}
流式布局
代码如下:
package com.cdx.test;
import javax.swing.*;
import java.awt.*;
public class FlowLayoutExample extends JFrame {
JButton btn1 = new JButton("东");
JButton btn2 = new JButton("南");
JButton btn3 = new JButton("西");
JButton btn4 = new JButton("北");
JButton btn5 = new JButton("中");
FlowLayoutExample() {
init();
this.setTitle("边界布局");
this.setResizable(true);
// 设置大小
// this.setSize(200, 200);
// 自适应
this.pack();
// 居中显示
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init() {
this.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 5)); //默认为居中;水平间距10,垂直间距5
this.add(btn1);
this.add(btn2);
this.add(btn3);
this.add(btn4);
this.add(btn5);
}
public static void main(String args[]) {
new FlowLayoutExample();
}
}
表格布局
代码如下:
package com.cdx.test;
import javax.swing.*;
import java.awt.*;
public class GridLayoutExample extends JFrame {
JButton btn1 = new JButton("东");
JButton btn2 = new JButton("南");
JButton btn3 = new JButton("西");
JButton btn4 = new JButton("北");
JButton btn5 = new JButton("中");
GridLayoutExample() {
init();
this.setTitle("边界布局");
// 设置用户可拖动
this.setResizable(true);
// 设置大小
//this.setSize(200, 200);
// 设置自适应
this.pack();
// 设置居中
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init() {
this.setLayout(new GridLayout(3, 2, 10, 5)); //默认为居中;水平间距10,垂直间距5
this.add(btn1);
this.add(btn2);
this.add(btn3);
this.add(btn4);
this.add(btn5);
}
public static void main(String args[]) {
new GridLayoutExample();
}
}
盒子布局
代码如下:
package com.cdx.test;
import javax.swing.*;
public class BoxLayoutExample extends JFrame {
JButton btn1 = new JButton("东");
JButton btn2 = new JButton("南");
JButton btn3 = new JButton("西");
JButton btn4 = new JButton("北");
JButton btn5 = new JButton("中");
BoxLayoutExample() {
init();
this.setTitle("边界布局");
// 用户可以拖动大小
this.setResizable(true);
// 设置大小
// this.setSize(400, 400);
this.pack();
// 设置居中显示
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init() {
// 设置布局方式为竖直
this.setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));
// 设置布局方式为水平
//this.setLayout(new BoxLayout(this.getContentPane(),BoxLayout.X_AXIS));
this.add(btn1);
this.add(btn2);
// this.getContentPane().add(Box.createHorizontalStrut(10)); //采用x布局时,添加固定宽度组件隔开
// 设置第二个按钮和第三个按钮之间的间距
// this.getContentPane().add(Box.createVerticalStrut(5)); //采用y布局时,添加固定高度组件隔开
this.add(btn3);
this.add(btn4);
this.add(btn5);
}
public static void main(String args[]) {
new BoxLayoutExample();
}
}
注意:必须要先添加控件,然后在设置 isVisible = true
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13908.html