操作侦听器:向Java中的对象发送文本输入
我不知道如何使用操作侦听器:向Java中的对象发送文本输入,java,Java,我不知道如何使用action Listener()方法从界面上按下的按钮向Java中的对象发送文本输入 import javax.swing.*; import java.awt.event.*; public class Preassessment extends javax.swing.JFrame implements ActionListener { static JTextField concept = new JTextField(15); JButton ente
action Listener()
方法从界面上按下的按钮向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
}
}
你的问题不够具体。在任何情况下,您都需要在代码中的某个位置引用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);
}
}
你到底想做什么?如果我明白你的意思的话,你可能想研究可观察的。否则请澄清你的问题。谢谢。目标对象是agInterface,代码中给出了它:Preassessment agInterface=new Preassessment();你是说引用应该不同于创建目标对象agInterface的引用吗?从长远来看,我想做的是看看文本输入是否可以在Jason/Jade这样的代理平台上从Java对象传递给代理。谢谢程序运行了,但编译时出错,请参见下面:线程“main”java.lang中的异常。错误:未解决的编译问题:构造函数预评估(Preassessment)在预评估时未定义。main(Preassessment.java:38)请提供一些帮助