我正在尝试在单独的框架中使用JOptionPane确认对话框在文本字段中输入一些数据,然后让用户在输入输入时按'OK'
。 catch是,输入只能是特定范围的值(有一个try catch子句来显示输入无效,需要更改)。为了避免用户不得不返回并手动检查哪些选项可用,我在背景中有一个不同的JFrame
,其中有一个JTable
,其中显示了要在JOptionPane
中输入的所有可能值确认对话框。问题是,我无法在背景JTable
的{{1}}中向下滚动,JFrame
确认对话框只是闪烁。是否可以使JOptionPane
确认对话框不强制将焦点放在该对话框上?如果没有,那么任何其他选择都可以创造奇迹。
我尝试使用多种东西,例如JOptionPane
,alwaysOnTop()
,setFocusableWindowState()
和setAlwaysOnTop()
。我知道这些功能是与toFront()
或Windows一起使用的,但是我不知道还有什么尝试。
这是一些JFrames
的基本代码:
JFrame
我希望在// I didn't include the code for the other JFrame, I don't think it is
// necessary. It is done as normal and works well. The following code is
// only for the new JFrame with the JOptionPane confirm dialog.
pane = new JPanel();
pane.setLayout(new GridLayout(0, 2, 2, 2));
idField = new JTextField(5);
roomNumberField = new JTextField(5);
pane.add(new JLabel("Enter the patient ID:"));
pane.add(idField);
pane.add(new JLabel("Enter the room number:"));
pane.add(roomNumberField);
optionFrame = new JFrame("Assign Room");
int option = JOptionPane.showConfirmDialog(optionFrame,
pane, "Please enter the patient ID and room number.",
JOptionPane.OK_CANCEL_OPTION);
String idInput = idField.getText();
String roomNumberInput = roomNumberField.getText();
确认对话框运行时,带有JFrame
的背景JTable
是可滚动/可单击的,但是此时JOptionPane
确认对话框只是闪烁当我用JOptionPane
单击JFrame
时。有办法吗?否则,有关解决方法或替代方法的任何建议将不胜感激。