java - JDialog 在任务栏中可见

标签 java swing jframe jdialog

我在主方法中生成了一个 JFrame,其中包含一个按钮,每次按下该按钮都会打开 JDialogs。我遇到的问题是 JDialog 在任务栏中不可见,我在互联网上找到的解决方案是在主程序中生成 JDialog 时。

如何才能使每个新窗口都出现在我的 Windows 任务栏中?

仅供引用,我的主要内容如下:

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Main frame = new Main();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public Main() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane);



    JButton btnNouvelleFentre = new JButton("Nouvelle fen\u00EAtre");
    btnNouvelleFentre.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            Chat dlg = new Chat();
        }
    });
    contentPane.add(btnNouvelleFentre, BorderLayout.SOUTH);
}

如您所见,我正在创建 Chat 类的一个实例,它扩展了 JDialog。创建了一个新窗口,但任务栏中没有一个窗口。

最佳答案

据我所知,这是 Windows 和 MacOS 上对话框的默认行为。

要在任务栏中显示另一个项目,您需要创建一个新的 JFrame,这意味着,如果您依赖于对话框的模态状态,您将不再拥有此功能。

话虽如此,您还应该通读一下 The Use of Multiple JFrames, Good/Bad Practice?并考虑使用 JTabbedPaneCardLayout 代替

关于java - JDialog 在任务栏中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27698317/

相关文章:

java - 查找距离我的位置 180 度(南)1 公里的位置

java - EclipseLink 和 Spring 3 Web MVC : how should I integrate both technologies?

java - Google Web Toolkit 是否类似于 AWT 和 Swing

java - 如何在 jTable 中显示二维数组?

java - 将多个 JFrame 中的值检索到单个 JFrame

java - 寻找一个高效的基于 Java Swing 的控制台

java - Swing Jcombobox 将第一个元素设置为默认选中

Java 货币转换器 GUI

java - JFrame、删除和创建 JPanel

java - 如何每秒将图像绘制到帧上?