弹出文本字段Java

时间:2012-10-04 20:06:58

标签: 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;
    }

1 个答案:

答案 0 :(得分:2)

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

如果你不喜欢这种“预先制作”的库方法,你必须自己推出JDialog:使它成为模块化和通用的,这样如果将来你需要同样的工具,你就赢了'必须从头开始或复制/粘贴 请注意,您可以在没有外部框架的情况下使用 (如果您正在寻找比窗口更少侵入性的内容,例如工具提示)。请参阅http://www.stupidjavatricks.com/?p=4

我没有看到其他选择。