Добавление JPanel, созданного на основе NetBeans, к другомуJpanel, созданному программно - PullRequest
0 голосов
/ 09 октября 2018

У меня есть панель, на которой я рисую некоторые элементы, и я хочу, чтобы поверх нее был интерфейс.Я создал интерфейс как JPanel на NetBeans, визуально.Но интерфейс не отображается должным образом.

Вот мой код

   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();
}

Панель объявлена ​​как статическая JPanel.

  static JPanel panel = new JPanel()

Вот мой результат: enter image description here

Это интерфейсный класс, который создается в netbeans визуально enter image description here

Когда я добавляю эту строку:

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

вот что я получаю: enter image description here

Просто пустой экран.Я не ожидаю, что он будет прозрачным, так как я сам установил его непрозрачным, но, похоже, у меня есть другая проблема.Кнопка не показывает, установлен ли я на непрозрачный или нет.

Почему кнопка не отображается?Я надеюсь, что кнопка все еще будет видна, когда я установлю для opaque значение false, после того как я решу эту проблему.

1 Ответ

0 голосов
/ 09 октября 2018

Я решил это, визуально создав JFrame в NetBeans, добавив в него JPanel.Затем с помощью этой панели (переопределив метод рисования) нарисовать мое изображение.

...