我在主方法中生成了一个 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?并考虑使用 JTabbedPane
或 CardLayout
代替
关于java - JDialog 在任务栏中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27698317/