Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
Java JButton不显示在JFrame中_Java_Swing - Fatal编程技术网

Java JButton不显示在JFrame中

Java JButton不显示在JFrame中,java,swing,Java,Swing,这里我正在检查一个特定的文件。如果该文件存在,我将创建一个新的Jrame并向其中添加“保存”按钮。但是“保存”按钮没有显示。哪里出了问题?您没有以任何方式将添加按钮的JPanel添加到Jframe中。在jframe上使用布局,并将JPanel添加到布局中。易于使用的是BorderLayout请将面板添加到框架中。希望这能解决问题您可以试试 if(compressedImageFilePath.exists()){ final String ie =

这里我正在检查一个特定的文件。如果该文件存在,我将创建一个新的Jrame并向其中添加“保存”按钮。但是“保存”按钮没有显示。哪里出了问题?

您没有以任何方式将添加按钮的JPanel添加到Jframe中。在jframe上使用布局,并将JPanel添加到布局中。易于使用的是
BorderLayout

请将面板添加到框架中。希望这能解决问题

您可以试试

    if(compressedImageFilePath.exists()){
                    final String ie = Integer.toString(i);
                    JFrame mboxFrame1 = new JFrame("Optimized Image");
                    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
                    ImageIcon image1 = new ImageIcon(compressedImageFile);
                    JLabel reader1 = new JLabel(image1);
                    mboxFrame1.setContentPane(reader1);
                    controlPanel2 = new JPanel();
                    JButton saveButton = new JButton("SAVE");
                    saveButton.setVisible(true);
                    mboxFrame1.setSize(screenSize.width, screenSize.height-30);
                    mboxFrame1.setResizable(true);
                    mboxFrame1.setVisible(true);
                    mboxFrame1.add(headerLabel);
                    mboxFrame1.add(controlPanel2);
                    controlPanel2.add(saveButton);
                    mboxFrame1.add(controlPanel2, BorderLayout.WEST);
     }
而不是

mboxFrame1.getContentPane().add(reader1,BorderLayout.NORTH);

是否确实满足条件?应仅在添加所有组件后,才使框架可见。编辑:自上次编辑后,您不再将包含按钮的面板添加到您的框架中。何时将controlpanel2添加到框架中?您忘记将
controlpanel2
添加到您的
JFrame
中。请提供一个示例,以便我们能够了解问题所在。通常在创建的过程中,我自己就明白了问题所在。即使我将面板添加到Jframe,按钮也不会显示谢谢。按钮正在显示。实际上,问题在于正在显示的图像…图像凌驾于保存按钮之上。我想同时显示图像和保存按钮。
mboxFrame1.setContentPane(reader1);