Java Swing布局管理器
Java Swing教程 - Java Swing布局管理器
容器使用布局管理器来定位其所有组件。
容器使用布局管理器来定位其所有组件。...
布局管理器是实现布局管理器接口或的Java类的对象LayoutManager2接口。LayoutManager2接口从LayoutManager接口继承。这两个接口都在java.awt包中。
以下列表是我们经常使用的布局管理器。
- FlowLayout
- BorderLayout
- CardLayout
- BoxLayout
- GridLayout
- GridBagLayout
- GroupLayout
- SpringLayout
每个容器都有一个默认布局管理器。JFrame的内容窗格的默认布局管理器是BorderLayout。
对于JPanel,默认布局管理器是FlowLayout。
我们可以通过使用setLayout()方法来更改容器的默认布局管理器。
要删除布局管理器,我们可以将null传递给setLayout()方法。
容器的getLayout()方法返回容器当前正在使用的布局管理器的引用。
以下代码显示如何将FlowLayout设置为布局管理器用于JFrame的内容窗格
JFrame frame = new JFrame("Frame"); Container contentPane = frame.getContentPane(); contentPane.setLayout(new FlowLayout());
以下代码显示如何将BorderLayout设置为JPanel的布局管理器。
JPanel panel = new JPanel(); panel.setLayout(new BorderLayout());
以下代码显示如何将BorderLayout设置为JPanel的布局管理器。...
LayoutManager layoutManager = container.getLayout()
空布局管理器
要删除布局管理器,请将布局管理器设置为null
myContainer.setLayout(null);
以下代码将JFrame的内容窗格的布局管理器设置为null。
JFrame frame = new JFrame(""); Container contentPane = frame.getContentPane(); contentPane.setLayout(null);
“空布局管理器"也称为绝对定位。
以下代码显示如何为JFrame的内容窗格使用空布局管理器。它使用setBounds()方法将两个按钮布局到它。
import java.awt.Container; //from w w w . ja v a 2 s . c om import javax.swing.JButton; import javax.swing.JFrame; public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container contentPane = frame.getContentPane(); contentPane.setLayout(null); JButton b1 = new JButton("Button"); JButton b2 = new JButton("2"); contentPane.add(b1); contentPane.add(b2); b1.setBounds(10, 10, 100, 20); b2.setBounds(120, 10, 150, 40); frame.setBounds(0, 0, 350, 100); frame.setVisible(true); } }
更多建议: