GUI w javie

M1
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 6 lat
0

Witam

Proszę Was o wypowiedzenie się  na temat GUI w javie, czyli czy warto korzystać z programów typu NetBeans, czy używać pakietu swing czy jakiegoś innego. Do tej pory duzo programowałem w javie ale bez tworzenia GUI, teraz chce napisac porządny projekt będący czymś na miare pracy magisterskiej, ale nie bardzo wiem od czego zacząc. Do tej pory używałem NetBeansa, pare razy tworzyłem GUI ale wygenerowane masy kodu troche mnie straszą, oczywiście biore też pod uwagę pisanie z wykorzystaniem tylko trybu tekstowego, ale nie wiem czy jest to sensowne i realne do wykonania, w teoretycznie dużej aplikacji.

Z góry dzięki za wszelkie informacje,uwagi i pomysły.
Pozdrawiam

0

JFrameBuilder generuje czytelny kod, ale niestety za darmo jest tylko ograniczona wersja (max 10 kontrolek do ustawienia).
Ja osobiście nie korzystam z kreatora NB, bo nie wiem o co chodzi w generowanym kodzie, troche pomieszany jest, dlatego piszę gui własnoręcznie, wiem gdzie co jest i jak działa.

Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:12 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

Każdy generator IDE czy ten z NB, czy też inny będzie tworzył dużo mało zrozumiałego kodu. Jeżeli nie miałeś do czynienia z pakietem Swing to lepiej zacznij odpisania "z palca" kilku prostych aplikacji. Kalkulator, Saper, itp. Nabierzesz obycia z nowymi klasami i sposobem programowania. Stworzysz też trochę kodu uniwersalnego np. główną ramkę z potrzebnymi operacjami. Jakieś uniwersalne ActionListenery, przyciski, menu. Potem generatory UI będą zbędne.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
0

Witam. Nie chce zakładać nowego tematu, a myślę, że problem mieści się w ramach tego tematu. Mam pytanie: czy za pomocą NetBeansa można zrobić następującą rzecz:
Utworzyć jakąs formatkę a później tworzyć formatki z niej dziedziczące(to jest możliwe - udało mi się :)). Czy jest możliwe aby podczas tworzenia nowej formatki w designerze widać było komponenty formatki bazowej?
Znalazłem nieco informacji na ten temat na stronie netbeansa ale wolę się upewnić.
Jeżeli nie jest to możliwe to czy są jakieś środowiska gdzie można w taki sposób budoać GUI. Jest mi to niezbędne gdyż tworzę mnóstwo formatek bardzo do siebie podobnych(ale nie identycznych).

Dzięki.

Olamagato
  • Rejestracja:ponad 16 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Polska, Warszawa
  • Postów:1058
0
lysicz napisał(a)

czy za pomocą NetBeansa można zrobić następującą rzecz:
Utworzyć jakąs formatkę a później tworzyć formatki z niej dziedziczące(to jest możliwe - udało mi się :)). Czy jest możliwe aby podczas tworzenia nowej formatki w designerze widać było komponenty formatki bazowej?

Odpowiedź zawsze brzmi: tak. Pytanie jest więc błędnie sformułowane. :)
Co do dziedziczenia, to możliwe jest nie tylko dziedziczenie, ale również wpakowanie tak zrobionej klasy na listę komponentów w generatorze Netbeans gdzie będzie po prostu kolejnym z komponentów. Jest to oczywiście nieco bardziej skomplikowane i trzeba sobie dokładnie poczytać dokumentację NB. Ponieważ jest to tam podane, dlatego nie ma po co tutaj tego pisać.

Natomiast co do ostatniego pytania, to w designerze można zarówno zmodyfikować komponent jak i dodać nowy. Sugeruję się więc, że to pierwsze samodzielnie zrobiłeś...


Jeżeli ktoś komuś coś, ewentualnie nikt nikomu nic, to właściwie po co...?
F6
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 13 lat
  • Postów:35
0

Co do niezrozumiałości kodu, to nie jest tak do końca. Jak już się chcesz się temu przyjrzeć i zrozumieć to trudność polega głównie na zrozumieniu Layoutu z którego korzysta NB, a mianowicie GroupLayout (http://database.bis.au.edu/download/reference/tutorial/uiswing/layout/group.html). Jak ja się z tym zapoznałem to nie mam problemów z odczytaniem to co mi dokleja. Moim zdaniem warto korzystać z tych GUI builderów, jeżeli wie się co, gdzie i kiedy robi. Takie narzędzia to tak naprawdę lifesaver, w kontekście czasu.

0

Dzieki za odpowiedz. Przepraszam, ze się tak długo nie odzywałem. Udało mi się bez problemu dodać do palety komponentów zdefiniowany przeze mnie JPanel (dodałem jakieś przyciski itp.). Czy można zrobić coś podobnego z JFrame? Interesuje mnie np taki scenariusz: w projekcie wybieram new i do wyboru mam zdefiniowany przez siebie JForm(w designerze widze wszystkie komponenty które wcześniej, tzn. przy tworzeniu mojego JFrame, umieściłem).
Kiedy korzystam z BeanForm i dziedziczę po jakims JForm utworzonym wcześniej to w designerze JForm dziedziczącego nie widać komponentów z JForm "nadrzędnego". A celowanie polami i przyciskami "na ślepo" jest mało wydajne. Generalnie chce zbudować framework składający się z około 10 różnych JFrame i z nich budować aplikacje.

0

A tak przy okazji. Znacie może jakieś gotowe komponenty do Javy. Potrzebuje głównie czegoś do raportów(JasperReports?) i jakiegoś grida(umożliwiającego sortowanie i filtrowanie danych, JSuite?, JComponentPack?). Może być płatne.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)