当前位置: 首页 > 面试题库 >

具有至少两个字段的简单弹出式Java表单

彭宏义
2023-03-14
问题内容

当用户单击按钮时,我想显示一个弹出窗体,该​​窗体至少应具有两个JTextField和两个JLabel,因此JOptionPane.showInputDialog不可能使用。


问题答案:

你至少应考虑JOptionPane诸如showInputDialog()或的方法之一showMessageDialog()

附录:使用JOptionPane铰链的选择更多地取决于模态的适用性,而不是所显示的组件数量。另请参见如何制作对话框。

附录:如@camickr的评论中所述,你可以使用Dialog Focus中讨论的方法将焦点设置为特定组件,此处引用。

package gui;

import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.*;

/** @see https://stackoverflow.com/a/3002830/230513 */
class JOptionPaneTest {

    private static void display() {
        String[] items = {"One", "Two", "Three", "Four", "Five"};
        JComboBox<String> combo = new JComboBox<>(items);
        JTextField field1 = new JTextField("1234.56");
        JTextField field2 = new JTextField("9876.54");
        JPanel panel = new JPanel(new GridLayout(0, 1));
        panel.add(combo);
        panel.add(new JLabel("Field 1:"));
        panel.add(field1);
        panel.add(new JLabel("Field 2:"));
        panel.add(field2);
        int result = JOptionPane.showConfirmDialog(null, panel, "Test",
            JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
        if (result == JOptionPane.OK_OPTION) {
            System.out.println(combo.getSelectedItem()
                + " " + field1.getText()
                + " " + field2.getText());
        } else {
            System.out.println("Cancelled");
        }
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                display();
            }
        });
    }
}


 类似资料:
  • 我的条件... 字母数字值 只允许使用一个空格或连字符 必须包含至少一个数字 不能以空格或连字符开头或结尾 最少2个字符,最多16个字符,不包括空格/连字符 到现在为止,我准备了正则表达式 它只遗漏了第三点。 测试字符串有效 无效

  • 我有值,我希望它们至少有两个十进制数字,但我不想修剪其余的数字。 是否有构建方法或更优雅的方法来实现这一点? 我不能使用,因为我希望在存在其他小数时保留它们。

  • 我有一个表单,其中至少一个输入必须包含数据,因此我使用以下命令禁用提交,直到至少一个输入包含数据: 这是控制器: 问题是,我不能在字段上使用,因为只有一个字段是必需的,因此我从未将类添加到输入中,因此,尽管两个字段都可能为空,并且我有一个禁用的提交按钮,但如果两个字段都为空,我希望添加一个类。 有没有一种方法可以将一个类添加到字段中,如果它们都被触动了,但都是空的?顺便说一句,它们是在页面加载时预

  • 问题内容: 我正在查询以获取具有特定标题的文档的URI。我的查询是: 的值实际在哪里,因为查询字符串是通过以下方式生成的: 通过上面的查询,我仅获得标题与完全相同的文档。想象一下,是由多个词组成的。我想获得文档,即使文档标题上仅出现一个字形(例如)。我该怎么办? 问题答案: 假设您有一些数据(在Turtle中): 然后,您可以使用类似以下的查询: 得到像 这样做特别整洁的是,由于您正在动态生成模式

  • 问题内容: 深入研究堆栈溢出后,我发现了一些代码来检查字符串是否为字母数字且长于8个字符。效果很好。现在,如果包含至少2个数字,如何使它返回true?我想我必须在某处添加。 问题答案: 您不需要单独的if条件。单个正则表达式将为您完成所有工作。

  • 我正在使用javascript正则表达式,其中包括以下条件。到目前为止没有运气。 -允许的最小字符数为8。 -允许的最大字符数为64。 -输入的文本应至少包括以下两个-数字、小写字母、大写字母、特殊字符。 -不支持输入符号。 到目前为止,我所拥有的是这个@anubhava答案。