如何在任务栏上限制多个java应用程序图标?

时间:2012-08-23 07:18:53

标签: java swing user-interface awt taskbar

我在java中创建了一个具有多种形式的应用程序。 在应用程序开始时,在按钮单击事件上打开新表单,在Windows的任务栏上,该表单的图标数量会增加。 我想要的只是应该在任务栏上显示应用程序图标,无论一个表单是打开还是多个表单。

3 个答案:

答案 0 :(得分:2)

我认为本教程将帮助您解决任务。

Multiple Document Interfaces with JDesktopPane and JInternalFrame

答案 1 :(得分:2)

发生问题是因为每个JFrame都会获得一个任务栏图标。有关众多解决方案的链接,请参阅The Use of Multiple JFrames, Good/Bad Practice?

答案 2 :(得分:0)

如果您已将新窗口作为JDialog并且仍然面临任务栏中有两个图标的问题,则可能是您正在创建模态JDialog,如下所示:

JDialog dialog = new JDialog((JFrame) null, true);

owner(第一个)参数设置为null,应用程序在对话框的任务栏中创建一个新图标。因此,为了避免这种情况,只需在打开对话框时将对框架的引用传递给对话框构造函数(例如,通过单击按钮)。像这样:

public class MyBrandNewDialog {

    public MyBrandNewDialog(JFrame owner) {

        // create new modal dialog (the second argument is for modality)
        JDialog dialog = new JDialog(owner, true);

        // ...
}