Grafika w javie

Witam. W jaki sposób w javie można wygenerować przykładowo taki plan zajęć jak na zdjęciu ? Głównie chodzi mi jakich graficznych komponentów do tego użyć ? alt text

Edytuje, dołączając pytanie: W jaki sposób w JTable można scalać i rozdzielać wiersze i kolumny ?
Tak jak to widać na powyższym zdjęciu.

2 lata temu | edytowane przez: Johny_84 87213

  • No dobra, a czy są inne możliwości oprócz jTable ? Jestem dość początkujący i na razie szukam najprostszych rozwiązań ;) Czy zrobienie czegoś takiego w jTable jest na tyle nieskąplikowane, aby laik sobie mógł z tym poradzić ?

    Oprócz jTable (SWING) można używać "tabeli" z SWT. Jeżeli jesteś początkujący to tym bardziej jTable ze SWING'a. Dlatego, że samemu na pewno nie napiszesz lepszej implementacji niż ta które jest już napisana i przetestowana. Owszem.. na początku będzie ci trudno połapać się w tych wszystkich metodach jakie oferuje klasa jTable, ale po jakimś czasie stwierdzisz, że dobrze zrobiłeś że się do niej dobrałeś. Dodam też, ża ta klasa na pewno przyda ci się w przyszłości.

    Co do twojego problemu z tym planem lekcji to jedyny problem jaki napotkasz po drodze z jTable będzie scalanie lub dzielenie komórek w tej tabeli. Kolor nagłówka sobie poradzisz.. jeszcze ew. powalczysz ze zmianą wysokości wierszy oraz szerokości kolumn.

    Aha, nie wiem też czy wiesz, ale w SWING'u jest tak, że tam wiele klas jest zbudowana na zasadzie wzorców projektowych. Warto też poznać (conajmniej) kilka podstawowych wzorców oraz zaznajomić się z tym, że jtable wykorzystuje do przechowywania i operowania na danych modelem. Wspominam tutaj o tym dlatego, żebyś nie poczuł się wystraszony tym, że zobaczysz jakieś modele, widoki i inne cuda które mogą się wydać "niepotrzebne".

    p.s. jeżeli chcesz się "pobawić" w graficzne tworzenie interfejsu to polecam Windows Builder PRO. Da się go pobrać jako free trial. Tutaj są bardzo fajne przykłady użycia w formie filmików.

  • Dzięki wielkie za szybką odpowiedź :) Co do JTable to już z niej korzystałem przy wyświetlaniu danych z bazy, tyle że korzystam z NetBeansa i we właściwościach tabeli można się zgubić ;) Ale jest właśnie ten wspomniany przez Ciebie problem ze scalaniem lub dzieleniem komórek, (do zmiany rozmiaru kolumn i wierszy też nie dobrnąłem). Czy bezpośrednio przez te właściwości JTable NetBeansa, da to się wykonać ?

    Powiem szczerze, ja NetBeans'a prawie nie używałem, więc tutaj nie pomogę. Za to ja bym raczej "jechał" w strone ręcznej modyfikacji kodu. Co do szerokości kolumn to kiedyś napisałem mniej więcej tak:

    public class EmailsListTable extends JTable { 
    
    (...)
    private void changeColumn(TableModel model) {
       setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
       getColumn(model.getColumnName(0)).setPreferredWidth(17);
       getColumn(model.getColumnName(1)).setPreferredWidth(250);
    }
    }
    

Zaloguj się, aby dodać swoją odpowiedź