Sziasztok,
Úgy alakult, hogy GUI-s programot kell csinálnom JAVA-ban, Eclipse IDE-vel.
Még nem csináltam ilyesmit, kérdezem, hogy SWING, AWT, SWT, vagy JFX-et ajánlanátok-e, és ha igen, akkor miért?
update: akkor SWT-t fogok használni, köszönöm a hozzászólásokat.
- 7189 megtekintés
Hozzászólások
subscribe
- A hozzászóláshoz be kell jelentkezni
Éreztem, hogy a top 5 kommentelő között leszel.
A témához visszatérve: Én SWT-t használnék, ha fontos, hogy a platformba minél jobban integrálódjon a felület (natív kinézete legyen).
A második preferencia a Swing, rengeteg library érhető el Swinges komponensként, ami SWT-vel nem.
A JavaFX-et viszont nem ajánlanám.
- A hozzászóláshoz be kell jelentkezni
Hehe... :)
SWT: párszor használtam, de inkább nem tetszett, mint igen.
Swing: sok komponens van hozzá, leirások, elég mélyen dokumentált, tudod debuggolni is (swing explorer), mi most swing + saját css framework segítségével fejlesztünk
JavaFX: itt el kell különíteni a JavaFX 1.x-et a JavaFX 2.x-től. A JavaFX 1.x-et ne használd, nem lesz neked jó. Helyette inkább a JavaFX 2.x-et próbálgatnám, amiben megzúzták a script nyelvet, és normális java kódot tudsz írni, van benne videólejátszó, 3d gyorsítás. Vannak limitációi, ami miatt mi nem választottuk, de neked nagy eséllyel jó lesz.
- A hozzászóláshoz be kell jelentkezni
Köszi, az swt-t megnézem akkor.
--
Ami elől menekülsz, az után szaladsz.
- A hozzászóláshoz be kell jelentkezni
Szép választás, gratulálok :))))
- A hozzászóláshoz be kell jelentkezni
off: azt lehet egyébként tudni, hogy miért Eclipse IDE-vel _kell_ csinálnod?
- A hozzászóláshoz be kell jelentkezni
Például ha GEF-et kell használnia gráfszerkesztésre, akkor ez evidens :)
- A hozzászóláshoz be kell jelentkezni
Nem kötelező, az eclipse az én választásom.
--
Ami elől menekülsz, az után szaladsz.
- A hozzászóláshoz be kell jelentkezni
Már hogy értsük, hogy mit szeretnél: az eclipse-t csak fejlesztésre akarod használni, vagy az eclipse-re épülő rich client platform-ot is akarod használni?
- A hozzászóláshoz be kell jelentkezni
Mostanában nem néztem, milyenek a GUI designerek, de korábban borzalmasak voltak. Esetleg érdekes lehet megnézni az SWT + JFace párost, illetve az új 4.x-es Eclipse RCP-t magát.
Korábbban saját framework-öt tettünk a Swing fölé, a szempont az volt, hogy ne kelljen GUI szerkesztő, kódból egyszerűen és egyértelműen lehessen összerakni, és ne nézzen ki ocsmányul.
A Swing-el az a bajom, hogy saját maga rajzol, hiába használ (Windózon legalábbis) hardveres gyorsítást, stb, akkor sem az igazi. Linux/GTK+ meg ocsmány a font rendering-je, mert képtelen azonos antialias-t használni, mint az OS GUI toolkit-je. Pedig elvileg ugyanazt a freetype2-t használja, de akkor is gáz, továbbá a GTK téma színeit sem veszi át rendesen. OSX-en nem tudom, milyen.
AWT-t meg szerintem felejtsd el, semmi nem indokolja. Maximum korlátozott beágyazott eszközök esetén lehet létjogosultsága, ahol nincs Swing vagy más.
- A hozzászóláshoz be kell jelentkezni
Az OSX-es L&F egesz jo.
Btw van amugy olyan publikusan elerheto framework, amivel nagyon egyszeru normalis UI-t varazsolni Swingben? Semmi extrara nem vagyok, csak ne nekem kelljen mindenfele panelekkel meg layoutokkal varialni, mert az meg GUI designerben se megy. Foleg formokat raknek ossze.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Nezd meg a MiGLayout layout managert esetleg.
De amugy neked nem inkabb valamilyen deklarativ UI kellene CSS-sel? Mert akkor JavaFX.
- A hozzászóláshoz be kell jelentkezni
Ezt a MiG-et megnezem, koszonom.
A JavaFX-tol mindenki ova intett eddig, szoval en meg csak a szaga nyomaba se akartam menni, de amit olvastam rola, az nekem elso ket korben bonyolultnak tunik.
HTML-ben mar elegge jol megtanultam formokat osszerakni, szoval valami hasonlo egyszerusegu lenne jo. Nem ragaszkodok en feltetlen ahhoz, hogy deklarativ legyen, egy ilyen pl. tokeletes lenne:
Form form = new Form();
LabeledInput txtName = new LabeledInput("Name")
form.add(txtName);
form.setSubmitListener(new MySubmitHandler());
myFrame.add(form);
myFrame.show();
Es ennyi, ebbol legyen kepes kitalalni, hogy egy formnak hogy kell kineznie, ne nekem kelljen ezeket kitalalni. Nem erdekel, ha sablonosan nez ki a cucc, nem a dizajn lenne a lenyeg, hanem a funkcionalitas. De nem akarok nyolc panelt meg huszonot sort elbokni ugyanerre a feladatra.
Szerk: olyan, mintha talaltam volna valamit. Illetve egy masikat. Ezek szerint fejlodott azota a tudomany, hogy ilyesmire szuksegem volt. Annak idejen, mikor keresgeltem, akkor mindenfele csak nativ swinges peldakat talaltam, es baromira utaltam az osszeset.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Erre lenne valo az Eclipse RCP Forms UI-ja, de ahhoz meg kene egy RCP app neked, ami overkill.
Viszont talan a JGoodies FormLayout jo lehet neked.
http://www.jgoodies.com/freeware/libraries/forms/
public JComponent buildContent() {
FormLayout layout = new FormLayout(
"$label, $label-component-gap, [100dlu, pref]",
"p, $lg, p, $lg, p");
PanelBuilder builder = new PanelBuilder(layout);
builder.addLabel("&Title:", CC.xy(1, 1));
builder.add(titleField, CC.xy(3, 1));
builder.addLabel("&Author:", CC.xy(1, 3));
builder.add(auhtorField, CC.xy(3, 3));
builder.addLabel("&Price:", CC.xy(1, 5));
builder.add(priceField, CC.xy(3, 5));
return builder.getPanel();
}
- A hozzászóláshoz be kell jelentkezni
Igen, ez is remekul hangzik... ra fogok nezni, koszonom. Bar azt nem latom a doksijabol, hogy hogy lehet ebbol _kivenni_ az adatot...
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni