Swing, 2 JFrame i 1 JPanel

0

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.

0

Dlaczego oczekujesz, że napisy w panel1 i panel2 będą różne? Są to dwa obiekty utworzone identycznym konstruktorem z takimi samymi parametrami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1