2014-06-22 23 views
-6

該程序完全按照我希望的方式工作。從Frompanel的底部只有一行我無法理解。我剛剛從教程視頻中瞭解到這一點。在功能類中使用接口

這是我的接口

public interface StringListener { 
    public void EmitText(String Text); 
} 

這是FormPanel中類

public class FormPanel extends JPanel { 

    StringListener txtListener; 

    private String Name; 
    private String Age; 
    private String Address; 


    private JTextField NameF; 
    private JTextField AgeF; 
    private JTextField AddressF; 

    private JButton Ok; 

    public FormPanel() { 

     NameF = new JTextField(8); 
     AgeF = new JTextField(8); 
     AddressF = new JTextField(8); 

     Ok = new JButton("Ok"); 
     setLayout(new GridBagLayout()); 

     Ok.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent arg0) { 
       Name = NameF.getText().toString(); 
       Age = AgeF.getText().toString(); 
       Address = AddressF.getText().toString(); 

       txtListener.EmitText("\n Hello! " + Name + "\n"); 
       txtListener.EmitText("you are " + Age + " years old \n"); 
       txtListener.EmitText("you lived in " + Address); 

      } 
     }); 
    } 

    public void showInfo(StringListener Listener) { 
     this.txtListener = Listener; /// I cant Understand this Line 

    } 
} 
+5

你應該問一個問題。不要在我們身上拋出一堆令人沮喪的代碼,讓我們猜測你的問題可能是什麼。 –

+1

您能否以某種方式標記您不理解的行,並解釋您不瞭解的內容。 – AlexR

+0

@AlexR你可以在formpanel類的底部看到它(就在界面之後),對於這個沒有組織的代碼抱歉。 – CapsLock

回答

2

線簡單地設置txtListerner給定StringListener。你遷移會感到困惑,因爲你寫了Listener大寫L.