Witam serdecznie.
Mam pewien problem natury mało inteligentnej. Swoje poczynania z Javą i PO zacząłem dość nie dawno i może jeszcze wszystkiego nie rozumiem.
Najpierw kod:
class View{
View() {
JPanel panel1 = new View.generateLab();
JPanel panel2 = new View.generateLab();
JFrame frame1 = new JFrame("Labirynt 1.0 - W głąb");
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setSize(500, 500);
JTabbedPane zakladki = new JTabbedPane();
zakladki.addTab("Zakladka 1", panel1);
zakladki.addTab("Zakladka 2", panel2);
frame1.add(zakladki);
frame1.setLocationRelativeTo(null);
frame1.setVisible(true);
}
class paint {
private int instance = 0;
generateLab {
this.instance++;
}
public void paint(Graphics g) {
Graphics2D g2d = (Graphics)g;
if(this.instance == 1) {
g2d.drawString("test 1", 10, 10);
}
else {
g2d.drawString("test2", 20, 20);
}
}
}
}
Problem polega na tym że kod ignoruje utworzenie nowej instancji JPanel panel2 i tym samym wyświetlenie 2 paneli jako kopii 1. Mam nadzieje że to jakoś wyjaśniłem.
A oryginalnie kod polega na wyświetleniu w 2 panelach zawartości z 2 różnych funkcji. A niestety generuje się tylko 1.