我正在尝试设置JPanel的宽度和高度。但它无法正常工作。 这是代码。
import java.awt.*;
import javax.swing.*;
public class FirstGuiApp extends JFrame {
public static void main(String[] args) {
JFrame frm = new JFrame("first gui app");
JPanel txtPanel = new JPanel();
txtPanel.setBackground(Color.cyan);
txtPanel.setSize(200,50);// **not working**
frm.getContentPane().add(BorderLayout.NORTH,txtPanel);
frm.setVisible(true);
frm.setSize(450, 350);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setLocationRelativeTo(null);
}
}
无法理解错误..
答案 0 :(得分:0)
尝试使用frm.getContentPane().add(txtPanel)
或frm.getContentPane().add(BorderLayout.CENTER,txtPanel);
组件根据其首选尺寸和容器尺寸的限制进行布局。 NORTH和SOUTH组件可以水平拉伸; EAST和WEST组件可以垂直拉伸; CENTER组件可以水平和垂直拉伸,以填充剩余的空间。
因此,如果不给出约束,则必须将组件添加到Center,这是默认值。因此,我们无法增加位置。