对话框大小问题
我的对话框为什么怎么也改变不了它的大小,就老跟setSize(0, 0)一样其中代码是这样的
void a()
{
JFrame jFrameClearEnregister = new JFrame();
JDialog jDialogClearEnregister = new JDialog(jFrameClearEnregister, "aaaa", true);
JPanel jPanelClearEnregister = new JPanel();
JLabel jLabelClearQQNum = new JLabel();
jPanelClearEnregister.setLayout(null);
//添加"QQ号码"标签到面板 jPanelLogin1
jLabelClearQQNum.setFont(new java.awt.Font("Dialog", 0, 15));
jLabelClearQQNum.setRequestFocusEnabled(true);
jLabelClearQQNum.setText("bbbbbbbb :");
jLabelClearQQNum.setBounds(new Rectangle(1, 1, 75, 30));
jPanelClearEnregister.add(jLabelClearQQNum, null);
jDialogClearEnregister.getContentPane().add(jPanelClearEnregister);
// jFrameClearEnregister.setVisible(false);
// jFrameClearEnregister.setSize(300, 300);
jDialogClearEnregister.setVisible(true);
jDialogClearEnregister.setSize(335, 230);
}
对话框大小问题
最后两行改成这样:jDialogClearEnregister.setSize(335, 230);
jDialogClearEnregister.setVisible(true);
对话框大小问题
可以了,谢谢sakulagi ,能不能解释得详细一点对话框大小问题
setSize()的工作机理是设置一下component的相关field,然后判断如果有大小的改变,会发出一个repaint的请求。是否能够设置到指定的大小,很很多因素有关。
控件是否可见,如果有parent,和parent的布局也有关系,以及这个component和parent之间的关系。
里面涉及到很多的awt和swing的内部工作机制。我也不能完全解释清楚。
这个问题还有两种解决方法:
JDialog jDialogClearEnregister = new JDialog(jFrameClearEnregister, "aaaa", false); 是一个解决方法。
或者干脆不要给这个dialog设置一个parent。如果你要模仿qq的界面,那么,我在2楼给出的那个方法可能是更合适的。这里提到的方法只是多些参考。
对话框大小问题
谢谢 2楼给出的那个方法可能是更合适的
页:
[1]