简体   繁体   中英

Adding JPanel created on netbeans on top of to anotherJpanel created programatically

I have a panel that I am drawing some stuff on and I want to have an interface on top of it. I created an interface as a JPanel on netbeans, visually. But interface is not displayed properly.

Here is my code

   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 is declared as a static JPanel.

  static JPanel panel = new JPanel()

Here is my result: 在此处输入图片说明

This is the Interface class that is created in netbeans visually在此处输入图片说明

When I add this line:

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

this is what I get: 在此处输入图片说明

Just a blank screen. I don't expect it to be transparent since I set it to opaque myself but It seems I have another problem. The button is not showing whether I set it to opaque or not.

Why is the button not showing? I am hoping that the button will still be visible when I set opaque to false, after I resolve this problem.

I've solved it by creating a JFrame in netbeans visually, adding a JPanel to it. Then using that panel(by overriding the paint method) to draw my image.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM