我已經創建了一個對話框,顯示消息,但該對話框的大小,每個我跑我下面的Java Swing應用程序的鏈接dailog的屏幕快照時間變化的方法:
Improrer Message Box Display
Proper Message Box Display
爲什麼的JDialog不displaing正確
下面是我爲的JDialog顯示創建的方法(SetMSGDialog)
public class DemoClass
{
private static JDialog MSGDialog;
private static JPanel MSGPanel;
private static JLabel MSGLabel;
private static JButton MSGButton;
DemoClass()
{
MSGDialog = new JDialog(MSGDialog,"Message",JDialog.ModalityType.APPLICATION_MODAL);
MSGPanel = new JPanel(null);
MSGLabel = new JLabel();
MSGButton = new JButton("Close");
}
public static void SetMSGDialog(String MSG)
{
MSGDialog.setModal(true);
MSGDialog.setSize(400,125);
MSGDialog.setResizable(false);
MSGDialog.setLocationRelativeTo(null);
MSGLabel.setText(MSG);
MSGButton.setText("Close");
MSGLabel.setBounds(25, 25, 375, 30);
MSGButton.setBounds(160,70,80,30);
MSGPanel.add(MSGLabel);
MSGPanel.add(MSGButton);
MSGDialog.add(MSGPanel);
MSGDialog.setVisible(true);
}
public static void main(String[] args)
{
DemoClass MsgBox = new DemoClass();
MsgBox.SetMSGDialog("Please Login First");
}
}
請告訴我,我做錯了。爲了正確顯示Jdialog,我必須做些什麼。
1)擺脫'的setSize(...)','的setBounds(...)'之類的。 2)使用佈局管理器來幫助確定組件的大小和位置。 3)在顯示對話框之前打包。 4)不要超過你的程序。 –
BTW - Ubuntu,Eclipse,Linux?沒有必要告訴我們你的操作系統和IDE,除非代碼只在這些特定條件下失敗!相信我,這個代碼在任何系統上都會失敗,使用任何IDE。 –