- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- Parci: Milyen mosógépet vegyek?
- Elektromos rásegítésű kerékpárok
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
Taoharcos
aktív tag
Sziasztok!
Mikor van értelme rekurzív függvényt használni egy for vagy while ciklus helyett?
-
Taoharcos
aktív tag
Sziasztok!
Mit gondoltok, megéri erre elmenni?
https://rendezveny.hwsw.hu/kepzes/13 -
-
Lortech
addikt
Már mindegy elvileg, de azért tegyük tisztába, hogy nem a Derby használ JDBC-t, hanem a Java programod JDBC-t használva kapcsolódik a Derby adatbázishoz, már ha úgy írtad meg. A JPA (hibernate, eclipselink stb) leggyakoribb esetben egy relációs adatbázishoz való csatlakozáshoz a motorháztető alatt szintén JDBC-t használ, csak ezt magasabb absztrakció lévén elfedi előled.
Derby és JPA minden további nélkül összebarátkoztatható, egy ilyen egytáblás projekt összerakása egy tutorial alapján 10 percekben mérhető ([link]), legyen az akár standalone, vagy webes, konténeres megoldás.
Ha már telefonkönyv adatot tárolunk - nem konfigról volt szó, akkor nem látom értelmét (fájl alapon) JSON-nel vagy XML-lel szüttyögni, egy derby vagy akármilyen embedded sql/nosql megfelel a célra JPA-val kombinálva.szerk: Szvsz nincs baj az XML-lel sem, csak a megfelelő feladatra kell használni, ugyanúgy ahogy a JSON-t, Yaml, protobufot stb. Ilyen leegyszerűsítésnek, hogy XML-t úgy általában felejtsük el, szerintem nem sok értelme van, mint ahogy a 2000-es évek XML fetisizmusának se volt sok.
Ismerjük az eszközeinket és használjuk mindig a megfelelőt a megfelelő célra. [law of the instrument] -
-
floatr
veterán
válasz
E.Kaufmann #10385 üzenetére
Konfiguráció tárolására sokkal praktikusabb a JSON vagy a YAML. Az XML túl terjengős, nehezebben is olvasható, és a kapcsolódó libek és alkalmazásaik is nyögve nyelősek. Én az SAML-nél vágtam eret magamon.
Nyilván ha az a feladat, hogy XML-el kell dolgozni, akkor az ember befogja az orrát, nyel egy nagyot, és csináljaDe ha nem muszáj, akkor ne szívassad vele se magadat, se másokat.
-
MrSealRD
veterán
Érdekelne mit gondoltok az alábbi helyzetről.
Adott egy cégen belül írt viszonylag egyszerű komponens. Ami áll egy view.xhml-ből és egy viewData.java model osztályból. Van még egy viewControllerünk az esetleges helyi logikákhoz.
SOAP-on keresztül jönnek az adtok ami kérdések.. A webszolgáltatás definiálja a kérdés típusát, válaszlehetőségeket és ez alapján rajzolódik ki a komponens. Most úgy néz ki, hogy alapvetően eldöntendő kérdések vannak, de ha valaki "Igen" választ jelöl meg akkor megjelenik egy beviteli mező, ahol további adatot kell megadni. Ez lehet, hogy egy mondat, de lehet csak egy szám.A modelben úgy vannak letárolva a kérdések és a válaszok, hogy függetlenül a kérdés típusától és az esetleg hosszabb válasz típusától egy getValue()-val szedjük ki a választ. Amikor ezt visszafelé küldjük a webszolgáltatásnak.
Előadódott egy olyan probléma, hogy amikor valaki az igen válasz után egy egész számot adott meg, az küldéskor már tizedes törtként ment tovább. (Pl 5 => 5.0)
Mikor belenéztem gyorsan a komponensbe azt láttam, hogy ott String-ként tárolódik ezért lehet, hogy az InputNumber mezőbe beírt számot történt tárolja le...
Mivel az adatok beküldése egy másik controller feladata ezért ott kerül összeállításra a request.
A fenti problémára 2 megközelítés merült fel.
1. Abban a controllerben amiben összeáll a beküldés, ott próbálom parseolni float-ra. Ha sikerül, akkor számról van szó, így round-al kerekítem egészre, és String-re konvertálva megy be a requestre. Ha elszáll NumberFormatException-el akkor azt jelenti, hogy ez egy vegyes tartalmú mező. Simán mehet ahogy van és nem kell kerekíteni.
2. A komponensbe kerül egy módosítás a modelbe. Nem a korábbi String value-ban tárolom hanem lesz egy int numberValue és a value-hoz írt getterben vizsgálom meg, hogy melyiket kell visszaadni és igazából így a modelbe kerül a logika...
Sok dolgot kihagytam és kicsit zavarosnak tűnhet, de szerettem volna kicsit kontextusba helyezni a problémát, nem csak úgy szárazan tálalni.
A kérdés igazából az, hogy a model osztályt meghagyni egyszerű POJO-ként a jobb ötlet és a controlllerben konvertálni a jobb ötlet, vagy mellőzni a konverziót, és a modelt módosítani "okosítani" kisebb logikákkal a jó irány? -
kispx
addikt
válasz
E.Kaufmann #10387 üzenetére
XHTML volt az XML.
-
floatr
veterán
válasz
E.Kaufmann #10383 üzenetére
Ezt az XML-es témát lassan ideje lenne elfelejteni. Hacsak nem megkötés, akkor inkább JSON
-
E.Kaufmann
veterán
Én is inkább SQL párti vagyok, de pölö ez alapján nem akkora wasistdas egyszerű objektumok adat benyomni XML-be, de gondolom a kiolvasás se nehezebb: [link]
Nem tudom,mik a megkötések, én kezdéskor simán beolvasnám ArrayList-be a már létező adatokat, azt olvasnám/bővítgetném/módosítgatnám, szükség esetén meg a változásokat vagy akár az egészet visszaírnám. Ha nagyon szőrszálhasogató a tanárod, amúgy is biztos találhat valamit, amibe beleköthet, ha akar, ha meg nem, akkor szvsz az XML a legegyszerűbb út számodra. -
Fáraó
őstag
Üdv!
Bár a megoldás működik, nem tartom elegánsnak. Ha esetleg valaki tudna egy szebb megoldást, megköszönném.
Gyakorolgatom SE tudásomat és egy táblajátékot írok. 1, 2, 3, 4-el (plusz enter) lehet lépkedni a négy irányba, a lépés előtt vizsgálom a lehetséges lépésirányokat, amit beleteszek egy négy elemű boolean tömbbe (minden lépés előtt frissülő statikus tömb). A tömb alapján listázódnak ki a lehetséges lépésirányok. A kiíráshoz használom a tömb indexeit. A feldobott lehetséges irányokból az int movementDirection adja meg egy másik metódusnak a lépés irányát. Viszont arra is kell figyelnem, hogy csak 0-3 közötti szám legyen értéke, nehogy tömbindexelési kivételbe fussak (kivételkezelés alapfokon). A kódom:
public static int listPossibleSteps() {
//indexes of possibleSteps: 0: left; 1: up; 2: right; 3: down
int movementDirection = 0;
System.out.println("");
for (int i = 0; i < possibleSteps.length; i++) {
if (possibleSteps[i]) {
System.out.print((i + 1) + " - ");
switch (i) {
case 0:
System.out.print("Move left\n");
break;
case 1:
System.out.print("Move up\n");
break;
case 2:
System.out.print("Move right\n");
break;
case 3:
System.out.print("Move down\n");
break;
}
}
}
do {
do {
movementDirection = extra.Console.readInt("Please select: ");
} while (movementDirection < 1 || movementDirection > 4);
movementDirection--;
} while (!possibleSteps[movementDirection]);
return movementDirection;
}Működik, de ez a két do-while a végén nekem elég szar megoldásnak tűnik. Esetleg lenne rá szebb kód?
Köszi!
-
HI-FI
tag
Üdv!
JavaFX projektet kellett elkészítenem egyetemi beadandó feladatnak.
Egy telefonkönyv alkalmazást csináltam, ami kontaktokat tárol.
A kontaktok tárolásáról Apache Derby adatbázis gondoskodik, amivel az a gond hogy JDBC-t használ.
Mint utólag kiderült csak JPA-t lehet használni vagy JSON/XML-ben tárolni az adatokat.
Vasárnapig kaptam haladékot, de nagyjából képtelen vagyok addig megoldani.
Szóval ha valaki sos tudna segíteni nekem, természetesen nem ingyen, akkor jelentkezzen kérem és privátban megbeszéljük a dolgot.
Nem hinném, hogy túl nagy feladat lenne annak aki ért hozzá.
Mert összvissz van egy TableView 3 oszloppal és ezeket kellene eltárolni mondjuk JSON-ben, mert az tűnik az opciók közül a legegyszerűbbnek. Csak én még sohasem találkoztam vele és az idő szűke miatt nincs lehetőség a sikertelen próbálkozásokra. -
twelvvy
csendes tag
Sziasztok!
Kaptam egy feladatot, méghozzá JAVAban amivel nem volt jelenleg még dolgom. C/C++ gyakorlatom van, szóval nem teljesen 0-ról indulnék neki. A feladat az lenne, hogy egy REST APIból egy adatbázisba kell az adatokat syncelni, validálni és tárolni, majd egy reportot készíteni és azt JSON fileba megcsinálni. Annyi van megadva, hogy JAVA 7/8 dolgozzak, az adatbázis lehet Postgres, MySQL 5.3+, Mariadb. Időkorlát nem teljesen van, illetve mondjuk 2 hét, szóval van idő. Szeretném megérteni és magamtól megcsinálni, ugyhogy inkább abban kérnék segítséget, hogy tudtok-e valami jó guideot ami alapján megcsinálhatnám, vagy valamit amin eltudok indulni, úgy hogy ilyesmivel még nem foglalkoztam. C++ban lenne ötletem hogy csinálnám ezt meg, de ugye az most nem jó.
Köszönöm szépen előre is!
-
XP NINJA
őstag
Sziasztok!
Egy olyan java desktop app a feladatom, mint kb a BKK Futár, csak leegyszerűsítve. Tehát egy térképes app, amire adatbázisból (rendelkezésre áll) kapott pontokon megjelenítem a megállókat, útvonalakat stb.
Szerintetek milyen térkép szolgáltatóval kellene ezt megoldani? Google maps static api-t javasoltak, viszont az csak egy képet ad vissza, amivel az alap zoom és arrébbpozícionálást nem tudom megoldani.
Mivel az útvonaltervezés lesz a fő funkció, így egy egész (minden funkcionalitással rendelkező) google maps használata már nem jó.
-
Drizzt
nagyúr
válasz
Orionk #10365 üzenetére
Egyfelől van SQL topic, ez oda jobban illene.
Másfelől:
- Indexeket kell használni. Azt az oszlopot kell indexelni, ami a where feltételben szerepel elsősorban. Ebből is elsősorban azok lesznek gyorsak, amikor konkrét értékre vonatkozik a feltétel, vagy arra, hogy egy érték egy tartományban van-e. Ha több oszlop is van a keresésben, lehet kompozit indexeket definiálni. Ha pl.: van a,b,c oszlopra egy indexed, azt az olyan feltételekre lehet használni, ahol vagy csak a-ra, vagy a-ra és b-re, vagy a-ra, b-re, s c-re van megszorító feltétel megadva. Az index gyorsítja a keresést, de lassítja a beszúrást, törlést. Ezen kívül még fontos, hogy ha csak az indexben szereplő dolgokat fogsz kikeresni a select-tel, akkor az szinte biztosan csak memóriában fog történni, de a többi mező lekérdezéséhez már lehet a diszkhez kell fordulni, ami lassítani fog erősen. Másik megfontolás a select oszlopok számánál, hogy minden extra oszlop megnöveli a visszaadott adathalmaz méretét, emiatt ha a sávszélesség probléma az adatbázis és az alkalmazás szerver között, akkor ronthat a sebességen. Erre szoktak DTO-kat használni(olyan objektum, ami csak a teljese tábla oszlopainak egy részét tartalmazza. Azt, amire éppen minimálisan szükség van az adott probléma megoldásához.).
- Nem árt megnézni azt sem, hogy a lekérdezés tényleg fogja-e használni az elkészített indexet. Erre általában adatbázisonként különbözik, hogy milyen paranccsal, de le lehet kérdezni, hogy mi lesz a query excution plan. Abból kiderül, hogy fog-e használni indexet, vagy nem. Illetve melyiket. A kritikus lekérdezésekre szerintem mindig ellenőrizni kell.
- Ha gyakran használ az ember joint, akkor érdemes lehet elgondolkodni a joinolt tábla foreign key-ként használt oszlopának indexelésén. Ez nagyban felgyorsíthatja a join-ok sebességét.
- Ha a beszúrás és a törlés is nagyon gyakran történik meg és a tábla nagy, akkor érdemes lehet particionálni a táblát több részre. Mondjuk ha neveket tárolsz, akkor az egyik tabla csak a-b, a másik c-d, ... kezdetű neveket tartalmazza. Viszont ilyenkor pl. nehéz lesz jó foreign keyeket definálni a nevekre, s sok egyéb komplikáció előjöhet. Ha ilyen jellegű a probléma, akkor lehet érdemesebb valamilyen noSQL db-t választani RDBMS helyett. -
dzsavitcu
csendes tag
válasz
Orionk #10365 üzenetére
Kérdeztek egy olyan feladatot, hogy képzeljem el, hogy egy nagyon nagy adatbázisom van, több millió rekorddal / sorral. Hogyan érném el, hogy gyorsak legyenek a lekérdezések, a SELECT-ek az adatbázisból?
Idexek használatával => arra a keresőfeltételre kell rakni plusz indexet ami gyakran van a query-ben.
+
selectnél nem select * hanem minden oszlopnevet kiírva -
Orionk
senior tag
Sziasztok,
Junior álláspozícióra mentem JAVA fejlesztésű projektre.
Kérdeztek egy olyan feladatot, hogy képzeljem el, hogy egy nagyon nagy adatbázisom van, több millió rekorddal / sorral. Hogyan érném el, hogy gyorsak legyenek a lekérdezések, a SELECT-ek az adatbázisból?
Mi lehet a jó válasz erre? Hogyan lehet megoldani ezt a problémát?
Olyasmit hallottam, hogy adatbázis indexelés lenne a jó megoldás?, de az pontosan micsoda?
köszönöm szépen a segítséget!
-
Sirpi
senior tag
válasz
szombatitomi #10361 üzenetére
Sőt, mondok jobbat:
for (Map.Entry<String, Set<String>> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": ");
for (String str : entry.getValue()) {
System.out.println(str);
}
} -
Sirpi
senior tag
válasz
szombatitomi #10361 üzenetére
beírtam az előbb
-
Sirpi
senior tag
válasz
szombatitomi #10358 üzenetére
Egyébként a végén a listába pakolás minek?
for (Map.Entry<String, Set<String>> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": ");
System.out.println(entry.getValue().toString().replace("]", "")
.replace("[", "").replace(", ", "\n"));
} -
Sirpi
senior tag
válasz
szombatitomi #10358 üzenetére
A cim-hez készíts egy saját struktúrát, legyen neki String street-je és int houseNumber-e, és definiálj ezen a struktúrán te magad egy rendezést, pl.
Comparator<Address> comparator = Comparator.comparing(Address::street).thenComparingInt(Address::houseNumber);
És ezt a comparatort átadva TreeSet konstruktorába pont jó lesz a rendezés.
-
szombatitomi
senior tag
Sziasztok!
Tudnátok ebben segíteni?
Ott van a probléma, hogy ha a map-ben egy kulcshoz olyan értékek tartoznak, ahol több utcanév megegyezik, a házszámoknál nem rendezi jól a TreeSet az értékeket.
Például a narancs-hoz megkapjuk, hogy Vag utca 9. és Vag utca 10., de ezt fordított sorrendben fogja kiírni, mert az 1 kisebb a 9-nél. Hogy lehetne itt megoldani, hogy házszám szerint is jól működjön?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Test {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String sor;
String cim;
String[] token;
String[] ajandekok;
Map<String, Set<String>> map = new TreeMap<>();
while ((sor = br.readLine()) != null) {
token = sor.split(";");
cim = token[1].concat(" ").concat(token[2]).concat(".");
ajandekok = token[3].split(",");
for (int i = 0; i < ajandekok.length; i++) {
if (!map.containsKey(ajandekok[i]))
map.put(ajandekok[i], new TreeSet<String>());
map.get(ajandekok[i]).add(cim);
}
}
List<Map.Entry<String, Set<String>>> list = new ArrayList<>();
list.addAll(map.entrySet());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getKey() + ": ");
System.out.println(list.get(i).getValue().toString().replace("]", "")
.replace("[", "").replace(", ", "\n"));
}
}
}
/*tesztadat:
Petike;Vag utca;9;dio,alma,mogyoro
Petracska;Vag utca;10;banan,narancs
Pistike;Vag utca;9;alma,mogyoro,narancs
Lilianna;Szotyori utca;30;mogyoro,banan
*/ -
floatr
veterán
válasz
axioma #10355 üzenetére
Olyan diákból sosem lesz épkézláb szakmabeli, aki ennyire nem akar megcsinálni feladatokat. Teljesen mindegy milyen jegyet kap rá, magával cseszik ki. Ebben a szakmában pont nem a jegyek számítanak, hanem a hagyományos értelemben vett agilitás. Diákként magának kéne feladatokat kitalálni, nemhogy a kiadottakat is mással megoldatni
-
smallmer
őstag
Sziasztok!
Szeretném kérni a segítségeteket:
Jelenleg így néz ki a kódom:public class testThread implements Runnable, ActionListener {
JFrame frame;
JButton gomb1;
JButton gomb2;
public void makeFrame() {
frame = new JFrame("Frame");
frame.setSize(1000, 500);
frame.getContentPane().setBackground(new Color(74, 74, 74));
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setLayout(null);
}
public void makeButtons() {
gomb1 = new JButton("Indítás");
gomb1.setBounds(350, 300, 100, 30);
gomb1.setBackground(new Color(127, 127, 127));
frame.getContentPane().add(gomb1);
gomb1.addActionListener(this);
gomb2 = new JButton("Stop");
gomb2.setBounds(550, 300, 100, 30);
gomb2.setBackground(new Color(127, 127, 127));
frame.getContentPane().add(gomb2);
}
public void actionPerformed(ActionEvent event) {
if (event.getSource() == gomb1) {
}
}
@Override
public void run() {
try {
go();
} catch (InterruptedException ex) {
Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void go() throws InterruptedException {
doMore();
}
public void doMore() throws InterruptedException {
for (int i = 0; i < 20; i++) {
System.out.println("Fut a thread" + i);
}
}
}
class Test {
public static void main(String[] args) {
testThread t = new testThread();
t.makeFrame();
t.makeButtons();
Runnable r = new server();
Thread szal = new Thread(r);
Thread szal2 = new Thread(r);
szal.start();
szal2.start();
}
}Azt szeretném megvalósítani, hogy a gomb1-re nyomva elinduljon az egyik szám, majd a gomb2-re nyomva a thread stop() állapotba kerüljön. Tehát egyik gombra kattintva indítsa el a szal-t, majd a másikra nyomva állítsa meg. Hogyan kellene ehhez átalakítani a kódom?
Köszönöm
-
axioma
veterán
válasz
dementhor #10352 üzenetére
Es ha a tanarod olvassa? Es ha mar azt sem csinalod meg, aminel a teljes internet a rendelkezesedre all es egy zh-hoz kepest tengernyi ido, vagy nem vallalod fel a felkesz-seget, akkor ugyan mar hogyan akarsz kesobb a szakmaban dolgozni? Kismillioszor kell rovid hataridore alig ismert teruleten valamit alkotni. Ez pont felkeszitene arra... vagy kegyetlenebbul fogalmazva kiszurne ha nem vagy ra "kepes" (a kepessegnel beleertem a nem elegge akarast ill. kitartast is).
-
dementhor
újonc
Üdv.
Beadandó feladatot vállalna valaki? OpenGL téma. Részletek privátban. Nem ingyen kérném. -
Kobe
veterán
Sziasztok
Java-hoz kapcsolodoan tud valaki ertelmes, minosegi oktatasi intezmenyt javasolni, ahol erosen gyakorlatorientalt kepzes zajlik, es valami papirfelet is ad rola (vagy legalabb a munkaeropiacon er valamit?
)
Google annyi fele hirdetest felhoz nehez valogatni koztukAutodidakta modon mar elkezdtem tanulni, de jo lenne rendszeresiteni
Java alapokkal kezdenem, utana pedig kozep hosszutavon Java, Angular es Android iranyon gondolkozom, valami olyasmi kellene ami illik ebbe -
smallmer
őstag
Sziasztok!
Valaki le tudná írni pontosan, hogy hogyan működik az, amikor egy külön class-ban van a GUI. (mit kell csinálni)
Eddig úgy fejlesztettem mindig, hogy a funkcionalitást megvalósító kódban volt a GUI, viszont ezt most szét szeretném szedni.Köszi
-
orc88
őstag
válasz
MasterMark #10347 üzenetére
Én ezt használom pl:
String url = System.getProperty("user.dir") + "/database/adatok.db";
Így mindig az éppen használatos könyvtárból dolgozik.
-
MasterMark
titán
Semmi, megtaláltam.
-
RedHarlow
aktív tag
Sziasztok, van egy webes java alkalmazás, jegykezelő, minden jegyhez tartozik egy lista amit szeretnék összevetni a saját excelben kapott listámmal. Ez tök jól működik úgy, hogy kimásolom az aplikációból az excelbe és ott összevetem de szeretnék ennél egy kicsit gyorsabb módszert. Hogy tudnám kinyerni C#-al az alkalmazásban használt listát? Google crhome vizsgálat esetén a html kódban látszik a lista amivel tudnék már kezdeni valamit de mikor olvasni próbálom adatok nélküli verzióban olvas.Valaki esetleg dolgozott már ilyenen? Bármi tipp? Előre is köszönöm a segítséget!
-
skoda12
aktív tag
Az action és event listenereidet a framework triggereli, így azok az event dispatcher threaden fognak futni, tehát lehet belőlük UI elemeket módosítani. A többi osztálynál figyelni kell, hogy ha UI elemeket módosítasz, akkor a SwingUtilities valamelyik invoke...() metódusával legyenek futtatva a megfelelő kódrészek (ezek végül így az event dispatcher threaden fognak futni). Ezzel le vannak fedve a UI-os részek, de neked kell tudni, hogy használsz-e még máshol threadeket és azok helyesen osztják-e meg egymás között az adatokat. Mondjuk valószínűleg az a rész is érdekes, ahol a vonalkódolvasótól átveszed az adatot és kipakolod a UI-ra.
Igazából látni kéne az egész kódot, hogy meg lehessen állapítani hol van probléma az adat megosztással, de egy teljes projektet nincs időm átnézni és kidebuggolni. Érdemes lenne a multithreadingnek és memory consistency erroroknak utánaolvasnod.
-
orc88
őstag
Ismét ezzel táblázatos gyakorló projektemmel van gond, 2 napja próbálkozok mindennel IS, többször újraírtam a kérdéses részt, de nem akarja az igazat
Van 1 textfield, ahova vonalkód olvasóval lehet bevinni az adatokat, a vonalkód olvasó az olvasás után ENTER-t "üt".
A kód szépen megtalálja, végrehajtja a megfelelő utasításokat a saját gépemen amin írom (i7 3.7Ghz + 12GB ram). A probléma akkor következik, mikor egy lassú pentiumos laptopon futtatom, hibajelenség:
- 5x olvastam le ugyanazt a kódot egymás után, és össze vissza dobál ✔-t és ✖-et ovlasás után.
- sokszor elkezd ugrálni a táblázatban még azelőtt mielőtt érkezne az Enter... (nincs más key event hozzárendelve)Mivel teljesen random viselkedik ugyanazon vonalkód esetében is már csak arra tudtam gondolni, hogy "túl" gyors neki az olvasás, vagy nem elég hatékony a kódom, más logikus magyarázatot nem találtam..
De hátha ti jobban átlátjátok
Az Enter után keresem ki, hogy melyik áruról van szó:
private void text_searchKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
indextalalat = -2;
zText.setLength(0); //Stringbuildert használok, hogy megmaradjon az utolsó érték a field ürítése után is.
zText.append(text_search.getText());
for (int i = 0; i <= tabla.getRowCount()-1; i++) {
if (tabla.getValueAt(i, 2).toString().replaceAll("\\s+","").equals(text_search.getText())) {
indextalalat = i;
break;
}
}
if (indextalalat != -2) {
text_search.setText(null);
talalatLabel0.setText("✔");
tabla.setRowSelectionInterval(indextalalat, indextalalat);
tabla.scrollRectToVisible(new Rectangle(tabla2.getCellRect(indextalalat, 0, true)));
setTexts();
} else {
text_search.setText(null);
talalatLabel0.setText("✖");
tabla.removeColumnSelectionInterval(0, tabla.getColumnCount()-1);
}
}
} -
MasterMark
titán
válasz
MrSealRD #10340 üzenetére
Sikerült köszi.
Már majdnem kidobtam az egész gépet az ablakon.
Tehát ami kell:
- external libaries-hez felvenni a JavaFX lib-jét
- path variable-t csinálni a JavaFX libjéhez
- projekt VM options-hoz hozzáadni a modult:--module-path ${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml
(
%PATH_TO_FX%
nem működik.) -
MrSealRD
veterán
válasz
MasterMark #10339 üzenetére
-
MrSealRD
veterán
válasz
MasterMark #10336 üzenetére
Az exception szöveg és a pókösztönöm alapján, szerintem: [link]
-
Aethelstone
addikt
válasz
MasterMark #10336 üzenetére
Kis forráskód is akadna?
-
MasterMark
titán
JavaFX-el mit kell csinálni, hogy hajlandó legyen működni? [link]
-
Drizzt
nagyúr
Én ugyan nem értek az AWT-hez, de az hogyan találja ki up, vagy down arrow lenyomásra, hogy fel, vagy le kell állítania az aktuális sort?
A handler amit írtál, mindenképpen beállítja a textet a kijelölt sor alapján. De mi állítja be a kijelölt sort? Van valami az AWT-ben ami automatikusan állítja a sor billentyű lenyomásra? Ebben az esetben valamilyen olyan listenert kellene meghívni ami biztosan a selection megváltozása után lesz meghívva. -
orc88
őstag
Sziasztok!
Van egy metódus, ami a táblázatban található adatokat kiírja Textfieldekbe. Ezt a metódust hozzá adtam a tábla kattintásos eseményéhez, amikor kattint valamelyik elemre a táblázatban szépen kiírja a megfelelő fieldbe az adatokat.
Gondoltam megcsinálom ugyanezt VK_UP és VK_DOWN key eventekre is, így nyilakkal történő lépkedés esetén frissíti a fieldek tartalmát.
A probléma a következő:
1 lépéssel le van maradva minden gombnyomásnál, mindig az előző gombnyomás után kijelölt sor adatait szedi ki a táblából
Mi lehet a gubanc?A
setText()
metódus:public void setTexts() {
DefaultTableModel model = (DefaultTableModel) tabla.getModel();
text_id.setText(model.getValueAt(tabla.getSelectedRow(), 0).toString());
text_nev.setText(model.getValueAt(tabla.getSelectedRow(), 1).toString());
text_cikkszam.setText(model.getValueAt(tabla.getSelectedRow(), 2).toString());
text_elar.setText(model.getValueAt(tabla.getSelectedRow(), 7).toString());
text_datum0.setText(model.getValueAt(tabla.getSelectedRow(), 9).toString());
}És ahol meghívom:
private void tablaKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_UP || evt.getKeyCode() ==
java.awt.event.KeyEvent.VK_DOWN) {
setTexts();
}
} -
Drizzt
nagyúr
válasz
Aethelstone #10325 üzenetére
En azt igy szoktam: [link]
-
JE60th
újonc
Sziasztok!
Egy Java-s céges internetes játék cheat-eléséhez szeretnék tanácsokat kapni.
A google Chrome Devtools funkciójával eddig arra jutottunk, hogy a request payloadban megtaláltuk a pontokat, amiket szeretnénk átírni magasabb értékre, viszont nem tudjuk kiküldeni az üzenetet újra, mert akkor "{"message":"Missing Authentication Token"}" üzetete kapunk. Igazából az is megfelelő lenne, ha nem tudjuk a JSON-ban lévő adatokat átírni, csak a jelenlegi üzetet újra ki tudnánk küldeni egymás után többször. A kérdésem, hogy hogyan lehetne az autetikációt megoldani, hogy újra tudjuk küldeni ezt az üzetet? Vagy ha azt nem lehet, akkor az eredeti autentikációt megtartva, hogyan lehetne változtatni az értéken amit kiküldünk?
(képek)
A válaszokat előre is köszönjük! Ahogy írtam ez egy céges 2 hónapig tartó játék, nem kereskedelmi, így ezzel a cheat-el nem okozunk kárt. -
smallmer
őstag
válasz
bambano #10322 üzenetére
Programozni szeretnék tanulni. Az alapok úgy érzem megvannak, sőt még annál kicsit több is. Most igazából ötletet szeretnék meríteni, esetleg tanácsot kapni, hogy miként induljak neki. Szerver - Kliens kapcsolatig megvagyok. Az is meg van, hogy átküldöm a zenét, csak az a gond, hogy mindenképpen le kell mentenem kliens oldalon, ahhoz hogy le tudjam játszani. Most igazából olyan library-t vagy ötletet keresek amivel megoldható lenne az, hogy ne kelljen lementeni a zenefájlokat kliens oldalon.
-
smallmer
őstag
Sziasztok!
Szeretnék egy programot készíteni. Fontos, hogy legyen külön egy server-em illetve a kliensem. Mindettőt én készíteném. Meg szeretném valósítani, hogy a Server streameljen egy zenét a kliens felé. Tehát az egészet úgy képzeltem el, hogy mondjuk megnyomok egy gombot a kliens oldalon, a gombnyomásra elküldi a servernek a zene nevét amit szeretnék lejátszani, a server ezt követően elkezdi streamelni a kliens felé a zenét, a kliens lejátsza. Nem szeretném menteni sehova kliens oldalon. Csak stream kellene.
Ismertek valami olyan library-t ami segítségemre lehet ebben? Hogyan érdemes megvalósítani ezt a folyamatot?Minden tanácsot szívesen fogadok.
Köszönöm szépen.
-
Zsoxx
senior tag
-
#hpq
aktív tag
Sziasztok!
Érdeklődnék, hogy valaki innen a fórumról vállal java oktatást, illetve vizsgára való felkészítést akár skype-on is? Egyetemen ebben a szemeszterben tanuljuk a javat és nagy segítség lenne, ha valaki tudna benne segíteni.
Előre is köszönöm a segítséget!
Üdv.:
hpq -
Drizzt
nagyúr
Kérdés:
Használok bean validationt. Ebben CDI injectionnel Eventet is használok, amivel megszerzek felsőbb rétegtől adatokat, amit a validáció során fel akarok használni. Persze a teszt esetén az injektált event null lesz, meg amit az event handler által meg akarok kapni, az se lesz kitöltve, teljesen jogosan. Junit 4.12-nél valamilyen módon meg tudom-e egy ConstraintValidatornak a dependenciáit adni? Nem tudom hogyan szedi össze a Hibernate validator a ConstraintValidatorokat(felteszem annotation processorral, vagy runtime package scanninggel). Illetve hogy ebbe a procedúrába bele tudok-e nyúlni. Hmm. elsőre úgy tűnik az unwrap alkalmas lehet erre, de ki kell próbálni.
-
Lortech
addikt
Nem írtam, hogy lenne baj a magyar könyvekkel, de általában minden témában vannak jobbak, nemzetközileg elismert szerzőktől. De főleg azért nem javaslom őket, mert ha valaki professzionálisan akar Javát tanulni, akkor jó, ha az angol terminológiát szokja meg. Legtöbb érdemi anyag, cikkek, szakmai fórumok, tananyagok angolul elérhetőek.
-
h.adam.92
őstag
Sziasztok,
Kövesdán Gábor "Szoftverfejlesztés Java SE platformon" c. könyvét szeretném megvenni, viszont 2 kiadás van. Egy 2014-es és egy 2018-as. A régebbit érdemesebb vagy inkább az újabbat szrrzzem be?
Előre is köszönöm a segítséget!
-
user112
senior tag
Sziasztok!
Kicsit belekeveredtem a java verziókba.
Nálam három mappában van a java (C:\Program Files\Java\):jdk-11.0.1 és jdk1.8.0_161 valamint a jre1.8.0_201
A Control panel szerint: version 8 update 201
Mindkét JDK mappában van javac.exe és mindháromban java.exe (a jdk1.8-ban kettő is)
Több program ráadásul saját java.exe-t telepít (Oracle, sqlDeveloper, IntelliJ, PyCharm stb).
Most tu. melyik működik nálam? Mit állítsak a PATH, JAVA_HOME változókba?
Úgy látom a legfrissebb verzió: Java SE 11.0.2(LTS). Ha ezt telepítem, akkor ez egy külön mappa lesz és ezt kell beállítanom a változókba?
A régi verziók törölhetők?
-
Drizzt
nagyúr
válasz
Aethelstone #10308 üzenetére
Runtime reflectionnel a feldolgozasa, meg Beandescriptor/Introspectorral az mar nagyuzemben megy, de a compile time osztaly generalas AbstactProcessor extendalassal az meg ujdonsag nekem. De hat nagyon elirigyeltem a Jaxb-tol meg a JPA-tol a metadata definialast annotaciokkal.
Most kb. ahhoz hasonlot csinalok, mint amit a JPA modelgen csinal az Entity metamodel generalasakor. A zavart pont az okozza, hogy compile time a reflectionnel nem lehet kb. semmit cainalni, hanem AnnotatedConstruct, Element, meg Type, TypeMirror es tarsaik allnak rendelkezesre.
-
Drizzt
nagyúr
Most először írok annotation processort. Elsőre nem túl intuitív a dolog, nagyon szokatlanok az Elementek, meg a Type-ok. Olyanok leellenőrzése, hogy valamelyik annotált method enclosing osztálya implementál-e egy interface-et, eléggé nyakatekerten és indirekten megoldhatónak tűnik(Stringre konvertálás és annak az equals-e).
-
Zsoxx
senior tag
Skacok, létezik az, hogy a Java-ban nincs egy nyomorult osztály, amellyel számrendszerek között lehet konvertálni? (Pl. hexadecimális és decimális között)
-
muszurkefal
aktív tag
válasz
muszurkefal #10300 üzenetére
Rájöttem.
A String.format-ban volt a gond, az a \n nem kellett volna
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Delta Force (2024)
- Sütés, főzés és konyhai praktikák
- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- Call of Duty: Black Ops 6
- Autós topik látogatók beszélgetős, offolós topikja
- Vezetékes FEJhallgatók
- Windows 11
- Xbox tulajok OFF topicja
- Stellar Blade
- Nyaralás topik
- További aktív témák...
- Bomba ár! Lenovo ThinkPad T460 - i5-6GEN I 8GB I 256SSD I 14" FHD I Cam I W10 I Garancia!
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Beszámítás! Sony PlayStation 5 825GB SSD digital konzol garanciával, hibátlan működéssel
- AKCIÓ! 16GB (2x8) G.Skill Trident Z RGB 4266MHz DDR4 memória garanciával hibátlan működéssel
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest