0

我不知道如何从使用该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         
    }
}
4

1 回答 1

0

你的问题不够具体。在任何情况下,您都需要在代码中的某处引用目标对象,因此一种方法是:

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);       
    }
}
于 2013-07-30T11:28:59.013 回答