Tag: joptionpane

JOptionPane获取密码

JOptionPane可以用来从用户获取stringinput,但在我的情况下,我想在showInputDialog显示一个密码字段。 我需要的方式是用户给出的input应该被屏蔽,返回值必须在char[] 。 我需要一个带有消息,密码字段和两个button的对话框。 可以这样做吗? 谢谢。

Java – 如何创build一个自定义对话框?

我有一个单击JFrame上的button,我想要一个对话框popup与多个文本区域用户input。 我一直在四处寻找,试图找出如何做到这一点,但我一直在困惑。 谁能帮忙?

如何在java中显示简单的警报消息?

来自.NET我很习惯在桌面应用程序中调用Alert()。 然而,在这个Java桌面应用程序,我只是想警告一条消息,说:“感谢您使用Java”我必须经历这么多的痛苦: (使用JOptionPane) 有更容易的方法吗?

JOptionPane – 检查用户input,并防止closures,直到条件满足

请有人告诉我是否有一个方便的方法来阻止JOptionPaneclosures后单击确定,除非满足用户input字段的条件? 还是我别无select,只能使用JFrame ? 我的validation逻辑到目前为止。 似乎不工作,因为button是一次点击某种原因… final JDialog dialog3 = new JDialog(OmniGUI.getFrame(), "Create new Node – id:" + newNodeID); dialog3.setContentPane(theOPane); dialog3.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); theOPane.addPropertyChangeListener(new PropertyChangeListener(){ public void propertyChange(PropertyChangeEvent e) { if(e.getSource() == theOPane){ String val = (String) ((JOptionPane) e.getSource()).getValue(); if(val=="Create"){ System.out.println("Checking content"); if(!valid){ System.out.println("closing the window"); dialog3.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog3.removeAll(); dialog3.dispatchEvent(new WindowEvent(dialog3, WindowEvent.WINDOW_CLOSING)); } } } } }); dialog3.setLocation(p); dialog3.pack(); […]

以编程方式closuresJOptionPane

我正在一个项目中,我想通过编程closures一个通用的JOptionPane(通过不物理地点击任何button)。 当一个计时器到期时,我想closures任何可能打开的JOptionPane,并将用户踢回到我的程序的login屏幕。 我可以把用户踢回去,但是JOptionPane保持不变,除非我物理地点击它上面的一个button。 我看过很多网站没有这样的运气。 在JOptionPane的“Red X”上调用doClick()方法似乎不太可能,并且使用JOptionpane.getRootFrame()。dispose()不起作用。

JOptionPane.showInputDialog中的多个input

有没有办法在JOptionPane.showInputDialog创build多个input,而不是只有一个input?

为什么JOptionPane中的JScrollPane没有显示所有的内容?

我试图添加组件到一个JPanel,然后把这个面板到一个JScrollPane,然后把JScrollPane放在JOptionPane中。 问题是:只添加了19行组件。 有一个确定组件行数的for循环,如果将条件计数器更改为19或更less,则将显示所有组件的行数。 这是问题的SSCCE import java.awt.Dimension; import javax.swing.GroupLayout; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.SwingConstants; public class DynamicGroupLayout extends JPanel { JButton addRecordButton; JTextField[] FieldsArray; JLabel[] LabelsArray; GroupLayout layout; JScrollPane scrollPane; public DynamicGroupLayout() { addRecordButton = new JButton("add record"); layout = new GroupLayout(this); this.setLayout(layout); layout.setAutoCreateGaps(true); layout.setAutoCreateContainerGaps(true); scrollPane = […]

批处理文件运行时显示不确定的JProgressBar

我一直在浏览SO和谷歌一段时间来回答这个问题,但我似乎无法找到一个真正的作品。 我将从头开始: 我使用在后台运行批处理文件的方法创建了一个Java类(不显示命令窗口)。 该程序工作的很好,除了最终用户会有点困惑,因为批处理文件需要一段时间才能完成 – 用户不知道程序是否仍在运行。 批处理脚本完成执行后,将出现一条消息对话框,表示已经完成,但是在运行方法和出现对话框之间的时间段内,程序看起来好像什么也不做。 所以这里是我的问题:我非常想显示一个新的框架与文本区域显示批处理文件的输出。 但是,我明白,如果不创建临时文件,写信给他们,阅读他们等等,这是非常困难的。 如果可能,我宁愿避免。 因此,我决定在进程运行时显示一个不确定的JProgressBar可能会更好,当进程结束时关闭它。 不幸的是,我不认为Swing可以处理这个,因为它需要一次运行多个进程。 我听说过一个SwingWorker,但是我不太清楚在这种情况下如何使用它。 我有以下SSCCE,它工作,但没有实施进度条。 public myClass(){ public static void main(String[] args){ String[] commands = {"cmd.exe", "/C", "C:\\users\\….\\myBat.bat"}; Process p = Runtime.getRuntime().exec(commands); p.waitFor() JOptionPane.showMessageDialog(null, "Process finished!"); } } 当p.waitFor()等待这个过程时,屏幕上没有任何东西。 我只想让用户看到一个进程仍在运行。 思考? 谢谢!