- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应用程序,我需要在框架上工作,同时我想打开一个对话框。
所以我将模态设置为 Dialog.ModalityType.MODELESS
。虽然这使我能够与父 JFrame 交互,但我无法再在对话框上使用 getValue()
。
这是一个正在运行的最小示例:
package Test;
import java.awt.Dimension;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class TestModalityDialog {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame();
frame.setPreferredSize(new Dimension(800,600));
frame.setVisible(true);
frame.pack();
JOptionPane optionPane = new JOptionPane();
String[] options = new String[]{"Hello"};
JLabel label1 = new JLabel(
"Click on a cluster to delete it (needs to be confirmed by pressing the 'Confirm' button.");
JLabel label2 = new JLabel(
"Press 'p' to undelete an unconfirmed deletion.");
Object complexMsg[] = { label1, label2 };
optionPane.setMessage(complexMsg);
optionPane.setOptions(options);
optionPane.setMessageType(JOptionPane.PLAIN_MESSAGE);
JDialog dialog = optionPane.createDialog(frame,
"Select undesired clusters");
//dialog.setModalityType(Dialog.ModalityType.MODELESS); //uncomment this line out
dialog.setVisible(true);
dialog.setVisible(false);//must be set to false for Modality to work
dialog.setVisible(true);
Object obj = optionPane.getValue();
int result = -1;
for (int k = 0; k < options.length; k++) {
if (options[k].equals(obj)) {
result = k;
}
}
if (result == 0) {
System.out.println("Succesful");
}
}
}
当您按下标有“Hello”的按钮时,系统就会在这里工作。放在后面就无法与框架交互。如果取消注释
//dialog.setModalityType(Dialog.ModalityType.MODELESS);
这将允许“交互”(不是在这个最小的 ofc 示例中),但我不再使用系统了。
我没想到的第二件事是,在未注释的版本中,您必须按两次按钮才能工作。
如果需要帮助,我会很高兴,已经尝试了其他 3 个模态值,但没有成功。
干杯,佛
最佳答案
关于java - JDialog 的 Modality 设置为 Dialog.ModalityType.MODELESS : optionPane. getValue() 不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22540217/
即使在大量谷歌搜索之后,我真的无法弄清楚如何制作无模式对话框。我想要做的是通过按下主窗口上的按钮来触发对话框。 (所以让我把所有的东西都放在这里。我之前没有把所有的东西都放上去,以免读起来太乱了。)
我正在寻找一种方法来避免在按下 [ENTER] 时退出 autocad 中的无模式对话框(由 opendcl 创建)。 有什么想法吗? 谢谢,丹尼斯 最佳答案 我已经为 OpenDCL 网格系统实现了
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我有一个应用程序,我需要在框架上工作,同时我想打开一个对话框。 所以我将模态设置为 Dialog.ModalityType.MODELESS。虽然这使我能够与父 JFrame 交互,但我无法再在对话框
我是一名优秀的程序员,十分优秀!