java在函数类中使用接口
这个程序完全按照我想要的方式运行。在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
}
}
# 1 楼答案
该行只是将
txtListerner
设置为给定的StringListener
。你可能会感到困惑,因为你用大写L写了Listener