当我在具有流布局管理器的内容窗格中放置内容时,我获得该组件与内容窗格边框之间的可用空间。
默认的流布局有hgap和wgap非零,但是将它们设置为零并不能解决问题。
注意:请帮助我进行此布局,不建议使用其他布局,因为这是较大的应用程序的摘录。
设置负hgap和wgap可能有所帮助,但这肯定不是解决方案。 以下是要检查的代码:
import java.awt.*;
import javax.swing.*;
public class MainWindow extends JFrame{
public MainWindow (){
JPanel contentPane = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
JPanel wp = new JPanel();
wp.setPreferredSize(new Dimension(500, 500));
wp.setBackground(Color.DARK_GRAY);
contentPane.add(wp);
setContentPane(contentPane);
pack();
setResizable(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MainWindow();
}
}
答案 0 :(得分:0)
我找到了另一个主题的答案。您必须在调用pack()之前编写setResizable(false)。没有找到解释为什么这是必要的,我认为这是因为pack()为帧添加了一些额外的空间。如果你不想让窗口可调整大小我怎么解决这个问题我不知道。注意:您遇到与其他LayoutManagers相同的问题,例如BorderLayout(带有包的管理器会增加额外空间)。