Diskuze: JavaFX rozbalovací seznam objektů
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, jsi velmi blízko správnému řešení. Ještě je potřeba nastavit buttonCell. Jinak taková malá rada. Ten ListCell si dej do samostatné třídy, je to pak přehlednější. A teď už řešení:
public class Controller implements Initializable {
public ComboBox<SerialPort> cmb;
@Override
public void initialize(URL location, ResourceBundle resources) {
cmb.setCellFactory(param -> new MyCell()); // Tohle už máš
cmb.setButtonCell(new MyCell()); // Tohle přidej
cmb.getItems().setAll(
new SerialPort("COM1", 9600),
new SerialPort("COM2", 9600),
new SerialPort("COM3", 9600)
);
}
static class SerialPort {
public final String name;
public final int baudrate;
public SerialPort(String name, int baudrate) {
this.name = name;
this.baudrate = baudrate;
}
}
private class MyCell extends javafx.scene.control.ListCell<SerialPort> {
@Override
protected void updateItem(SerialPort item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText(null);
} else {
setText(item.name);
}
}
}
}
Já mezitím našel kratší řešení. Od rána na tom pracuju, ale dokud se
někde nezeptám, tak to správný řešení nenajdu
cmbSerialPort.setConverter(new StringConverter<SerialPort>() {
@Override
public String toString(SerialPort o) {
if(o != null)
return o.getDescriptivePortName();
return "";
}
@Override
public SerialPort fromString(String s) {
return null;
}
});
Jinak psát třídy mimo je přehlednější, ale psát je takhle abstraktně
je prej víc in. Že když se to použije vlastně jen na jednom místě, je to
tak lepší. Popravdě už mi ale bylo vynadáno za oboje, dokonce v tý samý
škole. Holt asi je to na preferencích
To ti řekl prosím tě kdo, že je to "in"?? Najdi si citát Martina
Fowlera.
Ne všechen kratší zápis je vždy vhodný. Někdy to je zapotřebí a někdy
to zpřehlední kód, ale v případě velkých aplikací bych někdy takové
dotyčné, co tohle dělají, zastřelil.
Ano, funguje to, vypadá to složitě, je to důmyslnější syntaxe, prostě
super.
Ale pak v tom něco refaktoruj, když máš objekty vnořené v 10ti vnitřních
metodách.
Já si to myslím taky, ale já jsem malý pán. Řekla mi to tuším
učitelka na databáze, že prý dostatečně nezkracuji kód vymoženostmi z
Javy 8. Koho chleba (kredity) jíš...
Nic proti, ale z učitelů na VŠ, bych si rozhodně nebral příklad (kor
když učitel na databáze ti řekne něco ke kódu ...). 90% z nich co to učí
nemají vůbec praktickou praxi a učí jen dokola to co píše osnova. Aspoň z
mé zkušenosti, z 10 učitelů tak 1 nebo 2 opravdu vědí o čem mluví a i
jak to vypadá a používá se v praxi
Problém je, že ti učitelé tě pak budou hodnotit a budeš u nich svoji
práci obhajovat. A stačí jen malinkatý kousek ega na straně učitele a ty
nikdy neprojdeš s odlišným přístupem. Je to vratká cesta, to naše
školství Občas je lepší
to zkousnout, udělat jak se žádá a pak si to s diplomem v ruce vymazat z
hlavy. Takhle bohužel systém funguje.
Jo, tak to je svatá pravda. Doteď mě štve, že jeden kluk, kterého jsem učil programování, tak toho nechal, protože ho demotivoval učitel na vysoké. Palackého univerzita v Olomouci. Borec ovládal už základy, dokonce věděl přesně jak má postupovat, měl dobré myšlení, ale ten "pan profesor"...
Takže jak jsi správně řekl - naše školství místo výchovy dobrých programátorů vychovává budoucí nezaměstnané nebo je od programování zcela odradí.
Zase na druhou stranu... kdo umí programovat, tak proč by měl ztrácet čas za pár šušňů někde na univerzitě, když v praxi získá 2x až 3x tolik.
Spíš by to mohlo fungovat tak, že by programování učili na nějaký
menší úvazek zkušení programátoři a ne profesoři. Školy by ušetřili,
protože by to učili skuteční nadšenci, kteří tomu rozumí. Byl by to pro
ně přivídělek a ne plat a hlavně by se tak učili lidé skutečně to, co
potom budou potřebovat.
Ale jak jsi sám řekl - to by se dotklo ega některých profesůrků, pro
které znamená, že umí programovat, když jim výpis napíše hallo
world.
Takhle, ten nekomerční aspekt má furt něco do sebe. Těžko by mě někdo učil určité integrály, když by po mě chtěl jen webový aplikace. Měl jsem to za blbost, ale teď to používám v práci (na DPP a nechtěj o tom moc slyšet, ale...) Ale je fakt, že většina předmětů u nás na škole stojí za hovno. třeba jazyk prolog, o kterém jsem si do poslední chvíle myslel, že je to nějakej prank, až mi nakonec ta zakomplexovaná kráva nedala zápočet. Proto jsem si nedávno začal platit kurzy tady ITnetworku, abych mohl studovat to co mě zajímá. Ale nevím, vysrat se na školu, nevysrat se na školu...Tak řekněme, že jestli najdu práci za 250-300 na hodinu, tak s tím instantně seknu. Ale zatím beru docela hovno jako technik/vývojář 3D tiskáren, tak si to dovolit nemůžu.
Zobrazeno 9 zpráv z 9.