Java Swing 中用户输入后如何返回值?

问题描述 投票:0回答:1

我有一个应用程序,我需要用户多次输入。我想编写一个类或方法来返回请求的输入。

现在我有一个 CostumPanel,当用户在文本字段中按 Enter 键后,它会调用下一个方法。我想知道如何才能调用一个返回请求值的方法。与 JOptionPane 类似。 (我不想使用 JOptionPane 或类似的我想尝试自己制作)

java swing
1个回答
0
投票

您可以使用 JTextField 创建自定义输入面板并监听“Enter”键。按下时,返回输入值:

import javax.swing.*;
import java.awt.event.*;

public class InputPanel extends JPanel {
    private JTextField textField;
    private String inputValue;

    public InputPanel(String prompt) {
        textField = new JTextField(20);
        add(new JLabel(prompt));
        add(textField);

        textField.addActionListener(e -> inputValue = textField.getText());
    }

    public String getInputValue() {
        return inputValue;
    }
}

public class InputDialog {
    public String getUserInput(String prompt) {
        InputPanel panel = new InputPanel(prompt);
        JOptionPane.showConfirmDialog(null, panel, "Input", JOptionPane.OK_CANCEL_OPTION);
        return panel.getInputValue().
    }
}

调用 getUserInput() 获取用户输入。

© www.soinside.com 2019 - 2024. All rights reserved.