NetBeans Project and Source Code of a minimal example有沒有更好的方法來連接兩個JPanel?
是否有更好的方法來從不是使JPanel
公共領域之外的其它類JPanel
連接JFrame
?
我正在編寫一個程序,其中會有一個選項按鈕,當按下該按鈕時,會自定義一個JOptionPane.showOptionDialog
,其中包含一個JPanel
,其中將包含用戶需要的特定選項。
當用戶按下JOptionPane.OK_OPTION
按鈕時,程序關閉OptionDialog
,其中的JPanel
返回到JFrame
。然後我需要在JFrame
課程中使用的JPanel中輸入的內容。我只是通過將JPanel
的文本字段公開,但我覺得這是一種便宜的方法,特別是因爲NetBeans
不會讓我這樣做,除非我在記事本中打開源代碼。我
也將與如果JOptionPane.OK_OPTION
只是保存Jpanel
領域在文件完全OK,然後我可以分別在JFrame
類檢索。
那麼有沒有更好的方法來做到這一點?
JFrame
的動作監聽:
private void goSettingsActionPerformed(java.awt.event.ActionEvent evt) {
Settings settings = new Settings();
int result = JOptionPane.showOptionDialog(null,
settings,
"Settings",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE,
null,
new String[]{"Save", "Cancel"},
"default");
if (result == JOptionPane.OK_OPTION) {
username = settings.jTextField1.getText();
usernameInputedLabel.setText(username);
}
}
我會使用getter和setter,但是從我讀過的書以及我經常看到的論壇中,我知道普遍的共識是getter和setter比公有領域更糟糕。 –
@SilliconTouch:請在上面的陳述中給我一個體面的參考。你基本上認爲最好是完全暴露字段,而不是使用有限和受控的必要數據暴露,這是不正確的,完全不是。 –
@SilliconTouch:另外,如果您有一個最簡單的例子,請將其作爲所有人都可以看到的代碼發佈,而不是作爲將來可能陳舊或者在被訪問時存在風險的鏈接。 –