我有一个按钮,点击后我希望它加载一个文本字段(如弹出窗口)。这可能吗?
我已经调查了
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;
}
答案 0 :(得分:2)
如果您想通过弹出窗口获得用户输入,可以使用JOptionPane.showInputDialog
。它本质上将使用输入文本字段和确定/取消按钮实例化JDialog
。
如果你不喜欢这种“预先制作”的库方法,你必须自己推出JDialog
:使它成为模块化和通用的,这样如果将来你需要同样的工具,你就赢了'必须从头开始或复制/粘贴
请注意,您可以在没有外部框架的情况下使用 (如果您正在寻找比窗口更少侵入性的内容,例如工具提示)。请参阅http://www.stupidjavatricks.com/?p=4。
我没有看到其他选择。