大家好!我正在尝试解决一个很明显的问题,但我无法解决它.我正在使用Java/Swing库开发示例应用程序; 我有一个JFrame和一个JPanel.我只想达到以下目标:
JPanel 必须在JFrame内部居中.
的JPanel 必须有ALWAYS一个与指定的大小
有必要对setPreferredSize()方法.它不能在这个尺寸下调整大小.
我尝试使用GridBagLayout:这是我能做到的唯一方式.
请参阅以下示例:
/* file StackSample01.java */
import java.awt.*;
import javax.swing.*;
public class StackSample01 {
public static void main(String [] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(100, 100));
panel.setBackground(Color.RED);
frame.setLayout(new GridBagLayout());
frame.add(panel, new GridBagConstraints());
frame.setSize(new Dimension(200, 200));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个截图:
我不会使用GridBagLayout做一件太简单的事情.我尝试了一个最简单的解决方案,使用Box,但这不起作用:
示例代码:
/* file StackSample02.java */
import java.awt.*;
import javax.swing.*;
public class StackSample02 {
public static void main(String …
Run Code Online (Sandbox Code Playgroud)