Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示JDialog Java_Java_Swing_Jdialog - Fatal编程技术网

显示JDialog Java

显示JDialog Java,java,swing,jdialog,Java,Swing,Jdialog,我将简短地说,我不知道为什么当我显示JDialog时,窗口左上角的tipical java图标没有出现。我有这个: 它必须是这样的: 该窗口的代码如下所示: 相关部分如下: JFrame f = new JFrame(); JDialog d = new JDialog(f,"Nuevo Municipio",true); JPanel formularios = new JPanel(); JLabel codigo, nombre, provincia, alt

我将简短地说,我不知道为什么当我显示JDialog时,窗口左上角的tipical java图标没有出现。我有这个:

它必须是这样的:

该窗口的代码如下所示:

相关部分如下:

JFrame f  = new JFrame();
    JDialog d = new JDialog(f,"Nuevo Municipio",true);
    JPanel formularios = new JPanel();
    JLabel codigo, nombre, provincia, altitud, latitud, longitud;
    JTextField fcod,fnom,fal,flat,flong;
    JButton ok,cancelar;
    JPanel botones = new JPanel();
    GridBagConstraints gbc = new GridBagConstraints();
    //Container contenedor = d.getContentPane();

    formularios.setLayout(new GridBagLayout()); 
   //antes:formularios.setLayout(new GridLayout(6,2));
    d.setLayout(new BorderLayout());
    botones.setLayout(new FlowLayout(FlowLayout.CENTER));
d.add(formularios, BorderLayout.CENTER);

    d.add(botones, BorderLayout.SOUTH);
    d.setSize(new Dimension(450, 300));
    d.setLocationRelativeTo(f);
    d.setResizable(false);
    d.setVisible(true);
这是一个好主意。 您可以通过自己设置图标轻松解决此问题。 要做到这一点,您需要下载或获取默认Java图标(或您想要的任何图标),并在设置图标时参考它

像这样:

String URL = "https://dl2.macupdate.com/images/icons256/50734.png?d=1516128506";    
d.setIconImage(new ImageIcon(URL).getImage());

“你不必阅读所有的代码,当然,只需阅读第一部分”阅读关于a的内容。我将编辑它并将相关部分放入
你当然不必阅读所有的代码
-你的代码应该是a的形式。这就是你的问题,是关于JDialog的系统菜单。因此,您需要创建一个带有按钮的框架。单击该按钮时,将显示一个对话框。不需要在对话框顶部添加所有组件。首先让代码在没有组件的情况下工作。然后添加一个组件并重新测试。我们不会看你发布的代码来决定什么是相关的,什么是不相关的。所以我们应该能够复制/粘贴/编译/测试。我怀疑这与PLAF有关。不过,MCVE会将怀疑转化为知识。顺便说一句,最近的编辑是在前两条建议发布MCVE的评论之后做出的,不是MCVE。您是否真的阅读了链接中的信息,或者您只是在猜测?这个答案可以通过在“Oracle错误数据库”中包含问题的链接来改进,以便将来的访问者可以检查错误是否已修复。否则答案似乎很好。这是bug报告的链接。我认为我的案例不是bug,我测试了一个friend程序,在我的PC上进行了测试,是的,它显示了图标,这是为了我之前所说的,向JDialog添加组件的事实,而不是JDialog来自的父JFrame