【发布时间】:2012-10-28 01:13:28
【问题描述】:
我有这个小代码
public class Test extends JFrame {
public static void main(String[] args) {
new Test();
}
Test() {
getContentPane().add(new MyPanel());
pack();
setVisible(true);
}
private class MyPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
setSize(640, 480);
setPreferredSize(new Dimension(640, 480));
setMinimumSize(new Dimension(640, 480));
g.fillRect(20, 20, 50, 50);
}
}
很遗憾,在调用pack() 后,框架没有调整到嵌套面板的大小。我已经阅读了该主题的相关答案,但没有一个有帮助。请给我一个解决方案好吗?
【问题讨论】:
-
尝试在
paintComponent(Graphics)中更改GUI 的状态会导致麻烦。不要这样做。
标签: java swing jpanel paintcomponent preferredsize