sposób na ukrycie jTable

sposób na ukrycie jTable
BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Hej,
Próbuję napisać w konstruktorze klasy kod, który sprawi, że jTable stanie się niewidoczna, następnie w trakcie działania aplikacji na skutek konkretnych działań użytkownika tabela ta ma się pojawić. Nie udało mi się znaleźć w sieci odpowiedniego rozwiązania. Probowałem :

jTableEdycja.getColumnModel().getColumn(0).setMinWidth(0);
jTableEdycja.getColumnModel().getColumn(0).setMaxWidth(0);

dla każdej kolumny po kolei, ale efekt tego był taki, ze w miejscu tabeli zostało obramowanie tejże (w załączniku)

oraz jTable.setVisible(false), tutaj z kolei zostało obramowanie tabeli oraz nazwy kolumn (w załączniku)

Czy jest jakis sposób na chwilowe ukrycie tabeli tak, aby nie pozostał po niej ślad?

Black007
  • Rejestracja: dni
  • Ostatnio: dni
0

Może spróbuj usunąć tą tabele z contentPanelu, a potem go przerysować, i w drugą stronę dodać a potem przerysować... :)

Kopiuj
remove(jTable);
repaint();

add(jTable);
repaint();

Tak na szybko z głowy.

BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Niestety to nie działa

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Brakuje validate.

Kopiuj
remove(jTable);
validate();
repaint();
 
add(jTable);
validate();
repaint();
BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

możliwe, że to wynik mojego niedouczenia, ale próbowałem użyć podany sposób na kilka sposobów i remove(jTable) nie wywołuje w moim programie żadnej reakcji...

BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Przed sekundą udało mi się znaleźć inny sposób na obejście tego problemu na pewnym polskim forum- należy umieścić tabelę, którą chcemy ukryć w jakimś innym komponencie np jPanel i na nim wykonać jPanel.setVisible(false) + repaint();. U mnie działa. Dziękuję wszystkim za odpowiedzi, postaram się jeszcze powalczyć z zaproponowanym wcześniej sposobem, żeby zrozumieć, co było nie tak ;)

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.