将 JFrame 设置为始终在顶部并禁用其后面的所有 JFrame
set JFrame always on top and disable all JFrame behind it
我的项目有 2 个框架,第 1 个是我的主框架,第 2 个是只有单击按钮才能看到的框架。
display jframe.class when the button is click.
这是我执行的按钮操作中的代码
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jframe jf = new jframe();
jf.setVisible(true);
jf.setAlwaysOnTop(true);
}
此代码有效,但问题是我希望主框架在第二个框架可见时禁用或不可点击...
我可以使用与 JOptionPane 相同的概念吗?
你本质上是在谈论模态。您应该使用 JDialog 并将模态设置为 true,同时将 JFrame 作为参数传递:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
myFrame = new JFrame("Hello World");
modal = new JDialog(myFrame, "This is a modal!", true);
modal.setVisible(true);
modal.setLocationRelativeTo(null); //Center the modal
}
您可以在此处找到更多文档:
https://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html
我的项目有 2 个框架,第 1 个是我的主框架,第 2 个是只有单击按钮才能看到的框架。
display jframe.class when the button is click.
这是我执行的按钮操作中的代码
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jframe jf = new jframe();
jf.setVisible(true);
jf.setAlwaysOnTop(true);
}
此代码有效,但问题是我希望主框架在第二个框架可见时禁用或不可点击...
我可以使用与 JOptionPane 相同的概念吗?
你本质上是在谈论模态。您应该使用 JDialog 并将模态设置为 true,同时将 JFrame 作为参数传递:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
myFrame = new JFrame("Hello World");
modal = new JDialog(myFrame, "This is a modal!", true);
modal.setVisible(true);
modal.setLocationRelativeTo(null); //Center the modal
}
您可以在此处找到更多文档:
https://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html