Java:showInputDialog 中的自定义按钮

标签 java swing joptionpane

如何将自定义文本添加到 JOptionPane.showInputDialog 的按钮?

我知道这个问题JOptionPane showInputDialog with custom buttons ,但它没有回答所问的问题,它只是将它们引用到 JavaDocs,而 JavaDocs 没有回答它。

到目前为止的代码:

Object[] options1 = {"Try This Number",
                 "Choose A Random Number",
                 "Quit"};

JOptionPane.showOptionDialog(null,
                 "Enter a number between 0 and 10000",
                 "Enter a Number",
                 JOptionPane.YES_NO_CANCEL_OPTION,
                 JOptionPane.PLAIN_MESSAGE,
                 null,
                 options1,
                 null);

How I want it to look

我想为此添加一个文本字段。

最佳答案

您可以使用自定义组件代替字符串消息,例如:

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class TestDialog {

    public static void main(String[] args) {
        Object[] options1 = { "Try This Number", "Choose A Random Number",
                "Quit" };

        JPanel panel = new JPanel();
        panel.add(new JLabel("Enter number between 0 and 1000"));
        JTextField textField = new JTextField(10);
        panel.add(textField);

        int result = JOptionPane.showOptionDialog(null, panel, "Enter a Number",
                JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE,
                null, options1, null);
        if (result == JOptionPane.YES_OPTION){
            JOptionPane.showMessageDialog(null, textField.getText());
        }
    }
}

enter image description here

关于Java:showInputDialog 中的自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334198/

相关文章:

java - 比较java中的两个列表

java - Spring Boot 应用程序中未触发方面

java - Recyclerview 重复 Json

java - 有人可以解释 "Note: This method should be called under AWT tree lock."吗?

java - 如何使用 JOptionPane 编写一个应该是 boolean 值但答案可以是整数的循环?

Java JOptionPane 具有可滚动复选按钮列表

java - 如何与 joptionpane 并行执行 java 函数

java - Rinsim:添加除 Parcel、Depot 或 Vehicle 之外的另一个 PDPObject

java - 抛出异常后的空白消息对话框

java - 从 JFileChooser 获取多个文件