将在netbeans上创建的JPanel添加到以编程方式创建的另一个Jpanel

时间:2018-10-09 06:14:24

标签: java netbeans jpanel

我有一个面板,要在上面画一些东西,我想在它上面有一个界面。视觉上,我在Netbeans上创建了一个接口作为JPanel。但是界面显示不正确。

这是我的代码

   public static void main(String[] args) {
    JFrame frame = new JFrame("WorldGen");

    Interface inter = new Interface();

    JLayeredPane lpane = new JLayeredPane();
    frame.setPreferredSize(new Dimension(600, 400));
    frame.setLayout(new BorderLayout());
    frame.add(lpane, BorderLayout.CENTER);

    lpane.setBounds(0, 0, 600, 400);

    lpane.add(panel, new Integer(0), 0);
    lpane.add(inter, new Integer(1), 0);
    panel.setBounds(0,0,600,400);   


    frame.setSize(300, 300);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    main = new Main();
}

Panel被声明为静态JPanel。

  static JPanel panel = new JPanel()

这是我的结果:enter image description here

这是在netbeans中直观创建的Interface类enter image description here

当我添加以下行时:

inter.setBounds(0,0,600,400);
inter.setOpaque(true);

这就是我得到的:enter image description here

只是一个空白屏幕。我不希望它是透明的,因为我自己将其设置为不透明,但是似乎还有另一个问题。该按钮未显示我是否将其设置为不透明。

为什么按钮不显示?我希望在解决此问题后,当我将opaque设置为false时,该按钮仍然可见。

1 个答案:

答案 0 :(得分:0)

我已经通过在netbeans中可视地创建JFrame并为其添加JPanel来解决了该问题。然后使用该面板(通过重写paint方法)绘制我的图像。