ho creto una classe astratta che estende JWindow con dentro i vari component...
qui:
nel metodo this.add(this.createMenu()); dichiarato sotto astratto,ho crato poi due specializzazioni che implementano tale metodo in due modi diversi,quando però le inizializzo la compilazione riporta questo errore Exception in thread "main" java.lang.IllegalArgumentException: adding container's parent to itself cosa vuol dire?codice:public abstract class AbstractView extends JWindow implements WindowInterface { private Music music; private JLabel titleLbl; private static JPanel panel; private JLabel gif1; public AbstractView(){ setMusic(music); setSize(500,431); setLocation(400, 150); setAlwaysOnTop(true); getContentPane().setLayout(new CardLayout(0, 0)); getContentPane().add(initView()); setVisible(true); } /** * @return music */ protected Music getMusic() { return music; } /** * @param music music da impostare */ protected void setMusic(Music music) { this.music = music; } public Component initView(){ this.setLayout(new CardLayout(0,0)); titleLbl = new JLabel(new ImageIcon(tetrisAttack.Application.class.getResource("text.gif"))); titleLbl.setBounds(6, 10, this.getWidth(),88); gif1 = new JLabel(new ImageIcon(tetrisAttack.Application.class.getResource("1.gif"))); gif1.setBounds(0,0,500,431); this.add(this.createMenu()); this.add(gif1); return this; } protected abstract Component createMenu(); }

Rispondi quotando