2016-12-16 60 views
1

當我輸入文本中的FrameInJtextField,然後單擊OK按鈕,文本將顯示的FrameShow最後一幀的Jfield是我想要的,因爲我仍然不知道如何做到這一點。如何顯示輸出JLabel的另一個JFrame的

我使用NetBeans GUI構建器。

package learn; 
public class FrameIn extends javax.swing.JFrame { 
private String Name = null; 
public FrameIn() { 
    initComponents(); 
} 
* 
* 
private void ButtonActionPerformed(java.awt.event.ActionEvent evt) {          
    FrameShow show = new FrameShow(); 
    Name = Text.getText(); 
    this.dispose(); 
    show.setVisible(true); 
}          
public String getName(){ 
    return this.Name; 
} 

和這是我的FrameShow

public class FrameShow extends javax.swing.JFrame { 

/** 
* Creates new form Frame1 
*/ 
public FrameShow() { 
    FrameIn inName = new FrameIn(); 
    initComponents(); 
    Label.setText(inName.getName()); 
} 

所以,如果我輸入文本中的FrameInJtextField,然後輸出將顯示JfieldFrameShow的第二JFrame的

輸出形式有關此代碼爲空在Jfield

回答

1

你可以通過你的參數應用的賭注ween the two Frame,

所以當你點擊你的按鈕時,做一個動作,調用你的frameShow,你可以在你的框架的構造函數中傳遞你的值,或者你可以在第二幀中創建一個字段並使用二傳手把你的價值,這裏的想法。

class A{ 
    ... 
    //action 
    String v = textField.getText(); 
    B b = new B(v); 
    ... 
} 

class B{ 
    public B(String v){ 
     this.label.setText(v); 
    } 
} 

設想二:

class A{ 
    ... 
    //action 
    String v = textField.getText(); 
    B b = new B(); 
    b.setLabelValue(v); 
    ... 
} 

這裏是你的代碼應該是這樣的:

private void ButtonActionPerformed(java.awt.event.ActionEvent evt) {          
    Name = Text.getText(); 
    FrameShow show = new FrameShow(Name); 
    this.dispose(); 
    show.setVisible(true); 
} 

public FrameShow(String name) { 
    initComponents(); 
    Label.setText(name); 
} 

希望你明白我的意思,你明白的想法。

相關問題