简体   繁体   English

动作侦听器:将文本输入发送到Java中的对象

[英]Action Listener: sending a text input to an object in Java

I don't know how to send a text input to an object in Java, from a button pressed on an interface using the action Listener() method. 我不知道如何使用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         
    }
}

Your question is not concrete enough. 您的问题不够具体。 In any case you need a reference to the targetobject somewhere in your code, so one way to do it is: 无论如何,您都需要在代码中的某个地方引用目标对象,因此一种实现方法是:

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);       
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM