Я создаю апплет, который состоит из класса, который расширяет JApplet, с меню и классом, который расширяет JPanel. (Таким образом, в апплете есть меню и JPanel).
В этом классе я добавляю и удаляю некоторые текстовые поля в JPanel. Это все отлично работает. Вот где это становится сложно: это работает только в первый раз. Когда я добавляю несколько новых текстовых полей в JPanel, они добавляются и отображаются в JPanel, но меню в JFrame перестает работать.
Поскольку код слишком обширный, я буду публиковать его только части.
Вот код, куда я добавляю JPanel в JApplet:
public class Simulator extends JApplet implements ItemListener, ActionListener {
Container pane = getContentPane();
canvas = new DrawCanvas();
pane.add(canvas, BorderLayout.LINE_END);
}
Вот код JPanel:
class DrawCanvas extends JPanel {
public void paintComponent(Graphics g) {
if(textfield != null)
remove(textfield);
textfield = new JTextField();
this.add(textfield);
}
}
Это работает в первый раз (когда ничего не удалено), но во второй раз перестает работать меню.
Когда я опускаю this.add (текстовое поле); линия, менубар продолжает работать.