代码之家  ›  专栏  ›  技术社区  ›  Syco

java jdialog任务栏按钮

  •  1
  • Syco  · 技术社区  · 15 年前

    我正在linux上运行jdialog,但它仍然出现在我的任务栏中。 这是密码?怎么了?

    import javax.swing.JDialog;
    
    public class Main {
        public static void main(String [] args) {
            new mydialog();
        }
    
        private static class mydialog extends JDialog {
            public mydialog() {
                super();
                setSize(200,200);
                setLocationByPlatform(true);
                setAlwaysOnTop(false);
                setUndecorated(true);
                setVisible(true);
            }
        }
    }
    
    5 回复  |  直到 15 年前
        1
  •  1
  •   1ynx    11 年前

    我只需要用一个父框架/窗口创建JDialog,比如“newjdialog(newjframe());”将JDialog设置为可见后,我调用“jframe.revalidate();”。就这样。似乎Java在初始化JDialog时与DisplayManager正确通信有问题。。

    适用于我的Java 1.8.0.45、Linux Mint 17.1、肉桂2.4.8

        2
  •  0
  •   Paul Jowett    15 年前

    尝试替换 setLocationByPlatform(true); setLocation(10, 10);

        3
  •  0
  •   Community Mohan Dere    9 年前

    如果不希望JWindow出现在任务栏中,则需要使用它。
    how-do-i-prevent-jdialog-from-showing-in-gnome-panellinux

        4
  •  0
  •   Syco    15 年前

    java-gnome . 唯一的问题是必须将swing类的所有组件都更改为相应的gtk类。

        5
  •  0
  •   Roland    11 年前

    我已经为这个挣扎了一段时间了。最终对我起作用的是:

    JDialog frame = new JDialog();
    frame.setType(javax.swing.JFrame.Type.POPUP);
    

    或者,您可以尝试将类型设置为实用程序。

    Lubuntu 15.04(LXDE)运行Java 1.8.0\u 25