Java JinternalFrame设计问题

Java JinternalFrame设计问题,java,swing,jinternalframe,Java,Swing,Jinternalframe,我开始创建swing java应用程序,并在其中使用JInternalFrame,突然,我注意到JInternalFrame中的这个设计问题: 这是一个设计缺陷还是什么 有解决办法吗? 这是我的代码: import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JDesktopPane; import java.awt.BorderLayout; import java.awt.Color;

我开始创建swing java应用程序,并在其中使用JInternalFrame,突然,我注意到JInternalFrame中的这个设计问题:

这是一个设计缺陷还是什么
有解决办法吗? 这是我的代码:

import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JDesktopPane;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class TestJInternalFrame extends JFrame {
    public TestJInternalFrame() {

        JDesktopPane desktopPane = new JDesktopPane();
        desktopPane.setBackground(Color.LIGHT_GRAY);
        getContentPane().add(desktopPane, BorderLayout.CENTER);
        desktopPane.setLayout(null);

        JPanel panel = new JPanel();
        getContentPane().add(panel, BorderLayout.NORTH);

        JButton btnOpenInternalframe = new JButton("Open InternalFrame");
        btnOpenInternalframe.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JInternalFrame f = new JInternalFrame("Test", false, true, false);
                f.setBounds(250, 50, 300, 200);
                desktopPane.add(f);
                f.show();
            }
        });
        panel.add(btnOpenInternalframe);
        setBounds(100, 50, 700, 600);
        setVisible(true);
    }

    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }
        new TestJInternalFrame();
    }
}

你应该包括生成框架的代码,以帮助你找到问题。我调用JInternalFrame时没有代码,我得到了这个设计,没有什么特别的。
我调用JInternalFrame时没有代码,我得到了这个设计,没有什么特别的
-然后发布你的说明问题的文章。当我在上运行Swing教程中的代码时,我的内部框架看起来不像这样。试试那个演示代码,看看你是否有同样的问题。@camickr请看一下图片,我的问题不在于代码,而在于设计。上面的internalFrame来自Java,socond一个来自C#,正如你所看到的,Java internalFrame中的close按钮没有放置。我的问题是:这是不是某种糟糕的设计?@SlimenTunis,我已经说过我没有和你一样的问题。因此,问题在于您的代码或JDK。图片没有告诉我们您正在使用的代码。阅读我的评论,看看教程。您将看到按钮正确地放置在教程代码中。如果您没有发布您使用的代码,那么我们无法验证问题是您的代码还是您的平台。