我正在編程桌面應用程序Java使用NetBeans。Java Swing:如何從第一幀訪問第二幀中的變量?
我的問題是這樣的:
1:我有一個JFrame它是應用程序的主要框架。我想創建某種新的對象,所以我按下addButton y創建一個新的JFrame(我創建了一個擴展Jframe的新類窗口),其中包含一些文本字段。
private void addButtonMouseClicked(java.awt.event.MouseEvent evt) {
w = new window();
w.setVisible(true);
}
這是一個簡單的字符串,而不是一個完整的類 http://img820.imageshack.us/img820/3361/screenshotlw.png
第三簡化截圖:在這個新窗口中有我讀的文本字段,並創建對象時,我按下按鈕一些。
最後,當我按下「接受」按鈕時,我希望新框架在第二幀中獲取對象。
問題:從第一個幀到第二幀獲取對象的最優雅/高效/簡單/更好的方法是什麼?
我的第一個解決方案:是在第一個窗口上創建靜態方法setNewData()
,第二個窗口在您按下按鈕時調用此方法。
現在我來了一個新解決方案: 在第二幀我有一個方法來設置按鈕上的mouselistener。和一個getString()
函數。
在第一幀我得到這個:
private void addButtonMouseClicked(java.awt.event.MouseEvent evt) {
w = new window();
w.setHandler(ml);
w.setVisible(true);
}
MouseListener ml = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
TextFieldOn1stFrame.setText(w.getString());
}
};
和第二幀我得到這個
public void setHandler(MouseListener ml){
button1.addMouseListener(ml);
}
public String getString(){
return texto.getText();
}
注意事項:很抱歉的長文本,我對Java和唐新不知道這個解決方案是否最好。 btw對不起我的英語。
我在想這樣的事情! 感謝您參考設計模式!我應該首先考慮一下(就是我期待的一些「直接java」解決方案,我想這不是那麼容易) 它的方式比我的第一個解決方案更優雅! 非常感謝! – 2010-07-10 20:32:06
不客氣! – apiri 2010-07-10 20:40:30