2013-07-30 109 views
0

發送文本輸入到一個對象,我不知道如何將文本輸入發送到對象在Java中,從按下使用​​方法的接口上的按鈕。動作偵聽器:在Java中

import javax.swing.*; 
import java.awt.event.*; 

public class Preassessment extends javax.swing.JFrame implements ActionListener { 
    static JTextField concept = new JTextField(15); 
    JButton enter = new JButton("Enter"); 
    JLabel conceptLabel = new JLabel("Concept: "); 


    public Preassessment() { 
     super("Preassessment Sys"); 
     setSize(350, 180); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
     JPanel pane = new JPanel();   
     pane.add(conceptLabel); 
     pane.add(concept); 
     pane.add(enter); 
     add(pane); 
     enter.addActionListener(this); 
     setVisible(true);    
    } 

    public void actionPerformed(ActionEvent event) { 
     if(event.getSource() == enter){ 
      conceptLabel.setText(concept.getText());     
     } 
    } 

    public static void main(String[] arguments) { 
     Preassessment preassess = new Preassessment(); 
     Preassessment agInterface = new Preassessment(); //object to receive the text   
    } 
} 
+0

什麼,您正在嘗試做什麼?這會有很大的幫助。 – tbodt

+0

如果我明白你的意思,你可能想看看Observable。否則請澄清你的問題。 –

回答

0

您的問題沒有具體的不夠。在任何情況下,您需要在代碼中的某處參考targetobject,因此一種方法是:

public class Preassessment extends javax.swing.JFrame implements ActionListener { 
    static JTextField concept = new JTextField(15); 
    JButton enter = new JButton("Enter"); 
    JLabel conceptLabel = new JLabel("Concept: "); 


    public Preassessment(ActionListener listener) { 
     super("Preassessment Sys"); 
     setSize(350, 180); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
     JPanel pane = new JPanel();   
     pane.add(conceptLabel); 
     pane.add(concept); 
     pane.add(enter); 
     add(pane); 
     enter.addActionListener(listener); 
     setVisible(true);    
    } 

    public void actionPerformed(ActionEvent event) { 
     if(event.getSource() == enter){ 
      conceptLabel.setText(concept.getText());     
     } 
    } 

    public static void main(String[] arguments) { 
     Preassessment agInterface = new Preassessment(); //object to receive the text 
     Preassessment preassess = new Preassessment(agInterface);  
    } 
} 
+0

謝謝。目標對象是代碼中給出的agInterface:Preassessment agInterface = new Preassessment();你的意思是引用應該與目標對象agInterface創建的引用不同? – user2632052

+0

從長遠來看我想要做的就是看是否文本輸入可以從Java對象代理(S)在代理平臺像傑森/翡翠傳遞。謝謝 – user2632052

+0

的程序運行,但錯誤在編譯,見下圖:異常在線程「主要」 java.lang.Error的:未解決的問題,編譯: \t構造預評價(預評價)是未定義 \t在Preassessment.main(預評價.java:38) – user2632052