java - 弹出文本字段 Java

标签 java swing popup jframe textfield

我有一个按钮,单击后我希望它加载一个文本字段(如弹出窗口)。这可能吗?

我调查过

this.setVisible(false);
new className().setVisible(true);

但这意味着我需要一个新的 JFrame。我并不反对这个想法 - 我只是问是否有更好的方法。如果可能的话,我希望它只加载一个文本字段而不是它周围的框架。

我刚刚按照下面的建议创建了 JOptionPane - 但我仍然遇到问题。出现弹出窗口,但框中未包含任何内容。

当鼠标单击类别 1 时:

JOptionPane.showMessageDialog(this, MetaData.getTags());

class 2(我知道这不是抛出异常的最佳方法。这只是一个粗略的程序)。使用metadata extractor对于那些有兴趣的人。

public String getTags() {
        try {
            Metadata metadata = ImageMetadataReader.readMetadata(jpegFile);

            for (Directory directory : metadata.getDirectories()) {
                for (Tag allTags : directory.getTags()) {
                    System.out.println("MetaData Class: " + allTags);
                }
            }
        } catch (ImageProcessingException ex) {
            Logger.getLogger(MetaData.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(MetaData.class.getName()).log(Level.SEVERE, null, ex);
        }
        return allTags;
    }

最佳答案

如果您想通过弹出窗口获取用户输入,您可以使用JOptionPane.showInputDialog。它本质上会实例化一个带有输入文本字段和确定/取消按钮的 JDialog

如果您不喜欢这种“预制”库方法,则必须推出自己的JDialog:使其模块化和通用,以便将来您需要相同的工具您不必从头开始或复制/粘贴。
请注意,您可以拥有一个没有外部框架的对话框(如果您正在寻找比窗口侵入性较小的内容,例如工具提示)。请参阅http://www.stupidjavatricks.com/?p=4 .

我没有看到其他选项。

关于java - 弹出文本字段 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735040/

相关文章:

java - 当我编写以下代码时,为什么我的输出是 "4 10 7"而不是 "4 3 10 7"

Java Swing 的 HTMLEditorKit 删除了 SPAN 元素的嵌套

java - 这个 Swing 代码是如何工作的?

javascript - JS中单词之间的空格

java - JPanel 已添加到切换按钮单击上的其他 Jpanel 上

java - Android 上有对 sql server Compact 的支持吗?

java - 如何在用户按下 imageButton 之间添加延迟?

javascript - 在 aspx 页面开始加载之前显示模式弹出消息

java - JScrollPane 不调度事件

java - 隐藏组件时如何将 Miglayout 行高缩小为零