在窗口中将单独的 JPanel 显示为非模态 JDialog。如果你不想要右上角的菜单按钮,你可以让它不装饰。
我不确定你的意思是:
(这意味着差异应该是不可见的,用户可以点击应用程序后面的空白区域)。
关于
我也不希望输出框因为是一个单独的窗口而可以选择。
确保对话框中没有可聚焦的组件,或者如果可聚焦,请将可聚焦属性设置为 false。
编辑
要防止对话窗口被聚焦,请添加一行:
dialog.setFocusableWindowState(false);
例如:
import java.awt.Dimension;
import javax.swing.*;
public class DialogNoFocus {
public DialogNoFocus() {
// TODO Auto-generated constructor stub
}
private static void createAndShowGui() {
DialogNoFocus mainPanel = new DialogNoFocus();
JFrame frame = new JFrame("JFrame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(Box.createRigidArea(new Dimension(400, 300)));
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
JDialog dialog = new JDialog(frame, "JDialog", false);
dialog.getContentPane().add(Box.createRigidArea(new Dimension(500, 100)));
int x = frame.getLocation().x;
int y = frame.getLocation().y + frame.getHeight();
dialog.setLocation(x, y);
dialog.pack();
dialog.setFocusableWindowState(false);
dialog.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}