如何使 JFrame/JPanel "Modal" 在 Window 关闭或按下按钮之前不会继续输入?
How To Make A JFrame/JPanel "Modal" So No Input Will Continue Until The Window Is Closed Or Button Pushed?
我在这里有另一个问题,建议我制作程序 "modal" 以阻止程序从 运行 下一行和 "pausing" 弹出时的程序发生了。我试过了,但我不明白它是如何工作的 100%。
这是我尝试测试的代码:
import javax.swing.*;
import java.awt.*;
public class test {
public static void main(String[] args) {
JFrame theDog = new JFrame();
theDog.setSize(200,200);
theDog.setVisible(true);
new JDialog(theDog,"theTitle", Dialog.ModalityType.APPLICATION_MODAL);
System.out.println("hello");
}
}
当 JPanel 框弹出时,它应该 "halt" 程序,直到在那里执行操作。例如,我想要一个基于图片的按钮推送。我正在寻找专门使用自定义 JPanel/JFrame 来执行此操作,而不是使用某些 JOptionPane 获取输入对话框或类似的东西。
当我运行上面的代码时,system.out.println 运行无论如何,即使我没有关闭对话框,就像程序忽略了弹出一样向上。如何在采取下一步行动之前停止并等待用户操作?
这是我提出的上一个问题并给出了建议:How Do You Halt The Current Programs "Progress" at A JPanel/JFrame Pop Up?
您需要先让对话框可见,然后它才会阻塞...
JDialog dialog = new JDialog(theDog,"theTitle", Dialog.ModalityType.APPLICATION_MODAL);
dialog.setVisible();
Windows 在 Swing 中默认不可见
查看How to Make Dialogs了解更多详情
我在这里有另一个问题,建议我制作程序 "modal" 以阻止程序从 运行 下一行和 "pausing" 弹出时的程序发生了。我试过了,但我不明白它是如何工作的 100%。
这是我尝试测试的代码:
import javax.swing.*;
import java.awt.*;
public class test {
public static void main(String[] args) {
JFrame theDog = new JFrame();
theDog.setSize(200,200);
theDog.setVisible(true);
new JDialog(theDog,"theTitle", Dialog.ModalityType.APPLICATION_MODAL);
System.out.println("hello");
}
}
当 JPanel 框弹出时,它应该 "halt" 程序,直到在那里执行操作。例如,我想要一个基于图片的按钮推送。我正在寻找专门使用自定义 JPanel/JFrame 来执行此操作,而不是使用某些 JOptionPane 获取输入对话框或类似的东西。
当我运行上面的代码时,system.out.println 运行无论如何,即使我没有关闭对话框,就像程序忽略了弹出一样向上。如何在采取下一步行动之前停止并等待用户操作?
这是我提出的上一个问题并给出了建议:How Do You Halt The Current Programs "Progress" at A JPanel/JFrame Pop Up?
您需要先让对话框可见,然后它才会阻塞...
JDialog dialog = new JDialog(theDog,"theTitle", Dialog.ModalityType.APPLICATION_MODAL);
dialog.setVisible();
Windows 在 Swing 中默认不可见
查看How to Make Dialogs了解更多详情