我有一个按钮,单击后我希望它加载一个文本字段(如弹出窗口)。这可能吗?
我调查过
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/