Problem z tworzeniem TabbedPane

Problem z tworzeniem TabbedPane
G1
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 12 lat
0

A więc mam stworzony Panel i chcę dodać na niego JTabbedPane, próbuję tak:

Kopiuj
JTabbedPane przesiadki = new JTabbedPane();
JPanel panel1 = new JPanel();
przesiadki.addTab("Tytuł", panel1);
jSzczegolyPrzesiadek.add(przesiadki); //jSzczegolyPrzesiadek to mój Panel 

Kod ten wykonywany jest dopiero po nacisnieciu Buttona, ale nic się nie dzieje

edytowany 1x, ostatnio: gawkes11
0

Ja bym dodał

Kopiuj
panel.validate();
panel.repaint();
G1
Niestety dalej nic :/
bogdans
Odpowiadanie komentarzem na anonimowe posty jest raczej mało rozsądne. Skąd mam wiedzieć, że odpowiedziałeś?
0

Ty panel1 też tworzysz i dodajesz po kliknięciu. Zatem validate() i repaint() musisz wykonać na rzecz kontenera, który zawiera panel1.

G1
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 12 lat
0

Spróbowałem i tak ale dalej żadnego efektu, chociaż robię to identycznie jak w tutorialu oficjalnym

0

A ten kod się wykonuje? Dodaje do kodu

Kopiuj
System.out.println("doopa");
G1
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 12 lat
0

Taaa też próbowałem, spróbuję przedebugować chociaż za wiele po tym nie oczekuje ;)

G1
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 12 lat
0

Niestety jedyny sposób póki co w jaki udało mi się mniej więcej rozwiązać problem to taki, że dodaję od razu TabbedPane na Panel i dopiero potem w kodzie karty do TabbedPane, nie do końca mi się to podoba bo TabbedPane jak jest puste ma biały kolor i się źle komponuje ;)

0

Jak możesz dodać od razu skoro panel1 tworzysz dopiero po kliknięciu?
Może Ty masz pole w klasie panel1 i zmienną lokalną panel1i dodajesz przesiadki do zmiennej lokalnej? Zamień

Kopiuj
JPanel panel1=new JPanel();
//na
panel1 =new JPanel();
G1
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 12 lat
0

Ten panel, na który dodaję TabbedPane mam tworzony przy initComponents();

0

Ale w tym kodzie

Kopiuj
JTabbedPane przesiadki = new JTabbedPane();
JPanel panel1 = new JPanel();
przesiadki.addTab("Tytuł", panel1);
jSzczegolyPrzesiadek.add(przesiadki); 

dodawałeś JTabbedPane na inny (nie wyświetlany!) panel. Nie na ten tworzony w initComponents().

G1
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 12 lat
0

Inaczej, na JTabbedPane dodaje panel (który jeszcze nie jest wyswietlany), a następnie JTabbedPane dodaje na Panel jSzczegolyPrzesiadek, który jest tworzony w initComponents i jest wyswietlany

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.