Új hozzászólás Aktív témák
-
Sziasztok!
Következő problémával szembesültem: össze kéne hasonlítanom egy képet pár másikkal - gyk. eldönteni, hogy milyen szám is szerepel rajta. Maga a dolog "gondolom" nem lenne nagy cucc, ha nem lenne különböző méretük stb. Javaslatok, ötletek?
Köszönöm!
mobal,
-
TBG
senior tag
-
modder
aktív tag
Pedig kihúzod a gyufát!
Az a baj, hogy nem tudom megítélni, hogy helyes-e az alábbi diagram, ami azt mutatja, hogy a Java EE-re a kereslet nagyobb mértékben nőtt, mint Springre, vagyis fejlesztőre.
http://www.indeed.com/jobtrends?q=%22Spring+framework%22%2C+%22Java+EE%22&l=&relative=1
(De igazából nem tudom eldönteni, hogy mennyire hiteles ez a diagram)
DE. A Spring egy jó framework, máskülönben nem használnák, és szerintem innovatívabb is, mint a Java EE, gyorsabban mozog az új technológiák felé. Mindkét keretrendszert nagyon sok helyen használják. De az eredeti kérdéshez visszatérve, ha konkrétan tudja valaki, hogy Springgel kell/akar foglalkozni, akkor azt tanulja előbb, és ne a Java EE-t
-
TBG
senior tag
Struts2 vs Spring? Nem összehasonlíthatóak
Szerintem a Spring lassan platform lesz
Ez a lényeges mondat. Annyi módosítással, hogy szerintem már az!
Miért Spring? Azért, mert nem kell hozzá applikációs szerver. Egy sima Tomcat/Jetty-vel is simán elszalad, ami egy EE alkalmazásról nem mondható el. Sőt, egy jól megírt Spring alkalmazás fut servlet konténerben és applikációs szerverben is. Mindamellett ugyanazt a funkcionalitást nyújtja, mint egy EE konténer (jó, dinamikus kontext nincs, de embert nem láttam még, aki használta volna)
Nem akarok flame-t nyitni!!
-
Lacces
őstag
Hm, nem tudom, én már 1 éve nézegetek Java-s állásokat (szerencsére Isten nem szeret
) és ha Spring-et kértek volna akkor azt külön jelezték, vagy még a Strut2-t láttam népszerűnek.
Java EE kiselőadást kellett tartanom és hát, amikor nézegettem a fórumokat elég nagy vita van ebből a Java EE vs Spring dologból, én nem is mennék bele
. De én sosem dolgoztam bennek, csak tanulgattam őket, így nem tudok bővebbet mondani
.
Bár a Spring elég dinamikusan nő és nagyon megy a fejlesztés is ezerrel. Lehet tényleg érdemes a Spring-gel kezdeni, mert ahogy olvastam a Java EE7-hez még a cache api sem lesz benne, amit már nagyon vártak... (valami Jcache).Mivel foglalkoztam ASP.NET-tel nekem nem volt nehéz megérteni a Java EE alapjait
mástól nem hallottam vissza ezügyben semmit.
Szerintem a Spring lassan platform lesz
(tényleg rengeteg eszköze van)
-
TBG
senior tag
Az EE egyre inkább háttérbe szorul a Springgel szemben.
A Springgel érdemes kezdeni szvsz, mert aki ismeri a Springet, az nagyon könnyen tud átnyergelni EE-re, de csak EE ismerettel a Spring a vérhugyozás kategóriája.
Itt a 3-as Springről beszélek. Az előző változatok az XML tengere....bottal nem nyúlnék hozzá. Spring is támogat JSF,JSP techonlógiákat.
A Spring is egyébként egy qrva nagy framework/tool/solution halmaz.
Van Spring MVC, Sping JS, Spring Webflow, Spring Security.....sorolhatnám napestig. Ezekből a Spring Security és az MVC már de facto szabvány.
-
Soak
veterán
Köszi, ezekkel tisztában vagyok, nem csak úgy poénból kezdtem el foglalkozni vele, hanem azért mert nem sokára juniorként munkába állok és ugyan intenzív oktatáson részt fogok venni, már most el szeretnék vele kezdeni foglalkozni, mert van rá időm. A kérdés lényege az volt, hogy felesleges időt ne pazaroljak arra amire nem kell.
TBG : Köszi ezt már megtaláltam, de egy ideje nézegetem már, hogy akkor most mi is van
. Még nem találtam meg a fogást, hogy miként kezdjem el, az SE tutoriallal lassan végzek.
-
Lacces
őstag
Szerintem előbb döntsd el, hogy mit szeretnél pontosan a Java-tól és abba az irányba indulj el. A PHP-hoz képest itt nagy a "Birodalom" mérete.
Már maga a Java SE sem kis mennyiség. (GUI-k-ról nem beszélve, annotációk, amelyek a gyenge pontjaim, stb. Könyv függő, hogy mit sorolnak ideJava EE végül is durván mondva, API-k gyűjteménye, párat már Modder is írt. (Najó talán az alapokat, a nagyon-nagyon alapokat érdemes átnézni esetleg egy szakdolgozatból, hogy elméletileg tud, hogy mi az. Amikor olyanokról beszélnek, hogy komponens, konténer, szervlet stb.)
Cég függő, hogy melyiket használják a Spring és a Java EE közül. Bár lehet a pénzszektorhoz a Java EE kell. Mondjuk a Morgan Stanley Spring szakembereket keress.
Ha webes alkalmazások érdekelnek akkor én inkább a Grails-et javasolnám. Egyszerű szimpla és a Spring-re épül (na meg az a csapat is fejleszti
). Java EE esetén meg ott a JSP és a JSF is... (itt viszont az ASP.NET-tel mutatt rokonságot... JSF az olyan Webforms benyomást kelti a JSP pedig az (asp.net)MVC és PHP benyomását). Grails-nél keveset kell a config fájlokban lennem
És ott van még a fentebb említett nagy vállalati "irány" is.
Bár még én sem vagyok pro, de szerintem az irányt nem árt tudni
-
Soak
veterán
Értem, ehhez az EE-s tutorialhoz hasonló Springes tutorial létezik ? Mármint az EE az elég jól követhető és "szájbarágós" . Ez annyira nem olyan : http://www.springsource.org/tutorials .
-
modder
aktív tag
Helló,
Nem.
A spring Java EE-től független technológia. Ugyanarra találták ki, mint ami ma a Java EE, még az előtt, hogy a Java EE igazán használható lett volna. Helyettesítő technológiák.Ugyanakkor, ha készítesz egy Springes alkalmazást, megvan a lehetőséged, hogy Java EE technológiákat használj benne. Például a JPA egy Java EE specifikáció, de mára annyira kiforrott (és persze mert java standard), Springes alkalmazásokban is használják ORM rétegnek.
Ha elsősorban Springet akarsz használni, akkor spring tutoriallal kezdd. Csak akkor olvass Java EE tutorialt, ha olyan technológiába ütközöl.
-
Soak
veterán
Sziasztok !
Ha ezen végigmegyek : http://docs.oracle.com/javaee/6/tutorial/doc/docinfo.html és utána spring-et szeretnék használni akkor a felhasználása mennyiben tér el? Úgy gondolom, hogy a tutorialok sora Java SE -> Java EE (a fent emlitett) -> Spring-es tutorial ... jól gondolom?
-
-
#27441408
törölt tag
Felpakoltam a java-t de nem böngésző kieg-ként, rendes program. Csak a chess.com-on használom (a számítogép elleni játékhoz kell) ez esetben kell bármitől tartanom?
-
#27441408
törölt tag
Hali, már biztonságos feltenni a java-t ?
-
Jim-Y
veterán
sziasztok
ismertek valami módszert arra, hogy j2se-ben le tudjak játszatni mp3 fájlokat?! üdv
-
Pitu
aktív tag
MimeMessageHelper helper = new MimeMessageHelper(message, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write(notificationBean.getFileAttachment());
helper.addAttachment(notificationBean.getAttachmentFileName(), ????)addAttachment második paramétere lehet File, InputStreamSource, DataSource. Tehát ezek valamelyikére kellene konvertálni a ByteArrayOutputStream-et, aminél nem találtam megfelelő metódust egyelőre.
-
Pitu
aktív tag
Bocs, ha alapkérdés.
Szóval, van egy byte tömböm + egy fájl nevem. Szeretném úgy csatolni mailben hogy ne mentődjön ez a szerverre (mert most mentődik). Tudnátok segíteni?Kód:
MimeMessageHelper helper = new MimeMessageHelper(message, true);
File someFile = new File(notificationBean.getAttachmentFileName());
FileOutputStream fos = new FileOutputStream(someFile);
fos.write( notificationBean.getFileAttachment());
//fos.flush();
fos.close();
helper.addAttachment(someFile.getName(), someFile);
flush()-t kiszedtem, de nem segített. -
válasz
WonderCSabo #3570 üzenetére
Simple lett a vége.
mobal,
-
Hello! Köszi a válaszokat. Megoldottam DOM-mal. Jelenleg ilyen módszerrel tárolom el azt ami nekem kell. Létezik valami hatékonyabb? (Sokat kerestem rá, de nem jutottam előrébb, lehet rosszul keresem).
Köszi!
mobal,
-
modder
aktív tag
Hali,
http://en.wikipedia.org/wiki/Java_API_for_XML_Processing Ez egy jó összefoglalónak tűnik, hogy melyik API mire való. az XMLEventReader azt hiszem StAX specifikus dolog.
A DOM ugye fogja az egész dokumentumot és beparsolja egy DOM fába.
A SAX az egy push parser: ahogy parsolja a dokumentumokat, új tag-eket, és attribútumokat talál, callback metódusokat hívogat, amiket az alkalmazásod implementál, és el tudod dönteni, hogy mit akarsz csinálni az éppen aktuális információval.
A StAX parser hasonló, csak ott az alkalmazás kívülről irányítja a parsolást: lépteti a parsert előre.Nyilván egy szálban tökre mindegy, hogy push vagy pull, szerintem akkor lehet érdekes ez, amikor van egy parsoló szál és egy feldolgozó szál.
A legegyszerűbb a DOM, mert miután a parser készített belőle egy objektum modellt, a tag-ek objektumok hierarchiájaként fog megjelenni, és szépen a saját metódusain keresztül kereshetsz/iterálhatsz benne, meg is változtathatod. Továbbá, ami nagyon hasznos lehet számodra, hogy XPath lekérdezésekkel le tudod kérni csak azokat a node-okat, amikre szükséged van: http://www.ibm.com/developerworks/library/x-domjava/#3
Az, hogy melyiket válaszd eléggé függ attól, hogy mit akarsz elérni:
Ha nem fontos a sebesség: Ha egy asztali alkalmazást csinálsz, semmit nem fogsz profitálni a StAX parserrel a DOM-hoz képest, nem lesz akkora a különbség. Hatalmas RSS-nél mondjuk (hasraütés) pár száz ms-t veszítesz. (DOM)Ha fontos a sebesség: Egy google readerszerű alkalmazást akarsz, ami éjjel nappal olvassa az RSS-t, és mondjuk párhuzamosan amennyit tud. Akkor nem mindegy, hogy a végső reprezentáció és az eredeti XML között fel akarsz-e építeni és tárolni ideiglenesen a memóriában egy DOM fát.
Esetleg fontos a gyors válasz: te real-time akarod beparszolni az RSS-t, és minél gyorsabban pl. betolni adatbázisba a tartalmát vagy más reprezentációban tárolni. (SAX)Streaming: Ez kapcsolódik az előzőhöz: az RSS-t egyből más reprezentációban akarod elmenteni gyorsan, vagy továbbküldeni a hálózaton. (StAX)
Kell-e minden adat: elképzelhető, hogy nem kell az RSS-ből minden adat, csak a link neve például, akkor a többi adat teljesen fölösleges, fölösleges is tárolni őket, a parsolás folyamán csak azokat az adatokat tárolod le, amik szükségesek. (StAX)
Én azt mondom, amíg nem hatalmas mennyiségű RSS feedről, rettentő reszponzív alkalmazásról, streamingről, vagy nagyon kevés memóriáról van szó, addig használj DOM-ot.
-
Karma
félisten
Szerintem egyiket se, inkább a Simple-t.
De legalább egy pull parsert, ha mindenképp kézzel akarod írni. Az adott node kiválasztására meg általánosságban az XPath való - DOM parsolás után legalábbis, mert stream parsolásnál nehezen értelmezhető.
-
Sziasztok!
RSS csatornákat szeretnék feldolgozni. XML olvasásához XMLEventReader-t vagy DOM-ot alkalmazzak inkább? Továbbá abban segítsetek, hogy nem tudom milyen módon keressek rá amivel az xml-ből egy node-ot kiveszek és annak a tagjait dolgozom fel.
mobal,
-
modder
aktív tag
Igen, volt már erről vita, és arra jutottunk, hogy a steepet rosszul használják. Az emberek legtöbbször úgy értik, hogy aminek meredek a tanulási görbéje, azt nehéz megtanulni (gondolom azért, mert ami meredek, arra nehéz felmászni
). A wikipedia is ezt írja http://en.wikipedia.org/wiki/Learning_curve#In_culture
De azt is írja, hogy a félreértés elkerülése végett érdemes inkább 'long' és 'short' learning curve-t írni -
modder
aktív tag
Sziasztok, ismét írtam egy blogpostot arról, hogyan érdemes használható EJB-ket gyártani, ha gondoljátok olvassátok el, és mondjátok el a véleményeteket, ha hülyeséget írtam
http://palkonyves.blogspot.hu/2013/03/how-to-design-clean-business-tier-with.html
-
TBG
senior tag
Még egy megjegyzés az equals(), hashCode() témához.
Szóval, csak a tájékoztatás korrektsége miatt. Igaza van maximálisan az előttem szólóknak(Superhun). Az equals() és hashCode() metódusokat MINDIG EGYÜTT KELL felüldefiniálni, szóval az a megoldás, hogy csak az equals() metódust definiáljuk felül, rossz.
Elnézést a topic olvasóitól a félretájékozatásért és a rossz, pongyola tipp miatt!
-
-
pvt.peter
őstag
jó lett ez az elgondolás, pont ilyenre gondoltam
import java.util.AbstractMap.SimpleEntry;
import java.util.HashSet;
import java.util.Set;
...
private static Set<SimpleEntry<String, Integer>> list = new HashSet<SimpleEntry<String, Integer>>();
...
list.add(new SimpleEntry<String, Integer>("user/BasketAction/list", 0));
...
...
...
list.add(new SimpleEntry<String, Integer>("user/BasketAction/list", 1));
list.add(new SimpleEntry<String, Integer>("user/SearchAction/search", 1));Köszönöm az ötletet.
-
Karma
félisten
válasz
pvt.peter #3550 üzenetére
Ilyen megoldásoknak szerintem nincs helye egy Java topikban. De igazából semmilyen szakmaiban se. Stringben eltárolni a számot? Nooormális?
Ha nem akarsz saját adatosztályt írni, akkor legalább a AbstractMap.SimpleEntryt használd az adatpár tárolására. Ezt meg belerakhatod a HashSetbe.
-
pvt.peter
őstag
válasz
Superhun #3544 üzenetére
uh, nem akartam osztályokkal megvalósítani ezt, abszolút kollekciókban gondolkozok, ugyanis kb. olyan lenne, mint ágyúval verébre lőni
ezt az adatpakolgatást is static { } -ben végzem, bár már ez megvolt írva
tehát annyi az egész, hogy van kb. 20-30 adatpárom az előbbi szabályokkal definiálva
majd van egy fgvem, ami kap 2 paramétert, egy Stringet és egy intet
és lecsekkolja, hogy ebben az adott akármiben benne van-eennyi lenne a feladat, erre meg nem akartam osztályt írni, hisz nem nagy dolog
kollekciókkal szeretném megoldani,
pl. ez is elvégezné a feladatot: ArrayListbe egy String tömb és kész, a String tömb meg ugye kételemű lenne ("kutya" - "1")
majd legfeljebb castolgatom az int értéket -
TBG
senior tag
válasz
Peter Kiss #3548 üzenetére
A szoftverfejlesztés egy ilyen sötét mágiával átjárt tudomány. Láttam sok cifra dolgot már
szerk:
Egyébként meg igazad van.
-
TBG
senior tag
válasz
Peter Kiss #3546 üzenetére
Nyilván az nem derült ki, hogy a kolléga mire akarja használni. És igenis, lehet az, hogy csak az egyiket írom felül. Ha egy listába rakom és csak a contains() metódust hivogatom rá, akkor bőven elég az equals() metódust felüldefiniálni.
Nem véletlenül írtam, hogy alternatív megoldás és nem az üdvözítő.
-
Peter Kiss
őstag
Sosem szabad csak az equals()-t vagy csak a hashCode()-ot felülírni! Nyilván képes lesz működni, ha csak az egyik van felülírva, de mihelyst az objektum fel lesz használva kulcsként (dictionary, set), máris hibás működést kaphatunk! Emellett azt is figyelembe kell venni, hogy az alaplogikának egyeznie kell a két metódusban, különben szintén hibás működést kaphatunk (pl. mikor egy set-hez akarnánk hozzáadni végtelen ciklusba is kerülhetünk). Sőt, igazából ilyen kulcsként való felhasználás esetén csak immutable objektumokat szabadna használni.
-
TBG
senior tag
válasz
pvt.peter #3543 üzenetére
Superhun megoldása teljesen jó.
Viszont ha már saját osztályt használsz felüldefiniált metódusokkal, akkor szerintem elég az equals felüldefiniálni úgy, hogy a String és az int egyezőség esetén adjon vissza TRUE-t és akkor egy "sima" ArrayList-be is teheted. Persze attól is függ, hogy mennyi elemed lesz, mert nagyon sok elem esetén az ArrayList nem túl gazdaságos. Nem mondom, hogy Superhun vagy az én megoldásom a jobb, az enyém egy alternatív, de valamivel egyszerűbb megoldás, mert csak 1 metódus felüldefiniálását kell megcsinálni, de mint írtam, sok elemnél nem feltétlenül gazdaságos.
-
pvt.peter
őstag
Sziasztok!
Egy érdekes, de nem nehéz problémába ütköztem, igazából van is rá elképzelésem, de hátha kapok jobb ötletet tőletek.
Tehát adatokat kellene tárolnom vmiben (természetesen vmi kollekcióra gondoltam).Két részből áll:
egy String és egy intA string értéke és az int értéke is ismétlődhet, tehát pl.: ezek a párosok fordulhatnak elő:
"kutya" - 2
"kutya" - 1
"macska" - 1Látható, hogy egy vagy több String is megegyezhet egymással és egy vagy több int is megegyezhet egymással, viszont nem lehetnek olyan párosok ahol a String és az int is megegyezne.
Tehát tlképpen mindegyik páros egyértelműen azonosítható a String értékkel és az int értékkel.
Olyan mintha egyszerre használnám őket kulcsnak.A kérdésem: melyik kollekciót lenne érdemes erre a feladatra használni?
Időigény, elérés nem számít, de azért ne legyen nagyon undormány és gány.
HashMap egymagában nem jöhet szóba a fentiek miatt.
Össze kellene ágyazni min két kollekciót, csak nem tudom melyik lenne a legmegfelelőbb erre a célra, ami még talán elegáns is lenne.Ha esetleg vki tud vmi elfogadható és vállalható megoldást erre, akkor ne tartsa magában
-
modder
aktív tag
Karma írta: "A lényeg az, hogy milyen szolgáltatást nyújt, nem az, hogy konkrétan hogyan oldja meg."
Igazából ez a legfontosabb dolog. Amit még hozzá tennék, hogy kontextusfüggő vagy scope függő, hogy a statikus típusa a változónak Map vagy TreeMap legyen-e.
Amikor az osztályod (osztályaid) külső interfészét tervezed meg, akkor a hívó kliens kódnak nem kell tudnia hogy milyen konkrét implementációt (TreeMap vagy HashTable) ad vissza az osztályod egy függvénye, csak azt, hogy a visszaadot érték Map tulajdonságú.
De az osztályon belül fontos lehet, hogy konkrét típust deklarálj. Például egy JSON feldolgozó osztályt csinálsz, és szeretnéd, ha a hívó kliens egyszerűen egy OutputStreambe tudja írni a feldolgozandó JSON stringet. Neked azonban kell egy módszer a JSON feldolgozó osztályban, amivel ki tudod nyerni az OutputStreambe írt adatot. Az OutputStream interfészben nincsen deklarálva semmilyen metódus, amivel adatot ki tudnál nyerni (nem is arra való). De a ByteArrayOutputStreamben vissza tudod kérni a beírt adatot byte[] tömbként.
Konkrét példa:
public class MyJsonParser {
private ByteArrayOutputStream jsonByteStream = new ByteArrayOutputStream();
public OutputStream getOutputStream() {
return (OutputStream) jsonByteStream;
}
public JsonObject parse() {
// fontos tudni hogy ez egy ByteArrayOutputStream hogy használhassuk a toByteArray() metódusát
byte[] jsonBytes = jsonByteStream.toByteArray();
JsonObject jObject = new JsonObject();
// parszoljuk a json stringet
return jObject;
}
}
public class Application {
public static void main(String[] argv) {
MyJsonParser parser = new MyJsonParser();
// kit érdekel a konkrét implementációja az OutputStreamnek én csak írni akarok bele?
OutputStream parserOutputStream = parser.getOutputStream();
parserOutputStream.write( argv[0].getBytes() );
JsonObject jObject = parser.parse();
}
}Ezt csak azért írtam le, mert nem örök igazság, hogy csak interfész típust deklarálunk.
-
Pitu
aktív tag
YouTube api-t használt már innen valaki? 1 éve jól működő alkalmazásnál olyan problémám lépett fel nemrég, hogy a CategoryFilter-t figyelmen kívül hagyva nem a google account-hoz tartozó videókat listázza, hanem a publikus tartalomból próbál. Így exception lesz, mivel több mint 1000 videót akar lekérdezni az alkalmazás... a performancia problémáról nem is beszélve.
Van valakinek ötlete? Api változás lenne?
-
Karma
félisten
válasz
pvt.peter #3534 üzenetére
Ez egy fontos tervezési elv kicsiben. Amikor a változót később használod, nem függ így a kódod attól, hogy a változó konkrétan egy HashMapet takar, csak hogy megfelel a Map interfésznek - más szóval kulcs-érték párokat tudsz tárolni benne.
Így a későbbi kód módosítása nélkül kicserélheted például TreeMapre (ami hashtábla helyett piros-fekete fában tárolja az értékeket), ha a helyzet úgy kívánja. Vagy akár egy tömbre, amiben lineáris kereséssel túrod ki a megfelelő értéket. A lényeg az, hogy milyen szolgáltatást nyújt, nem az, hogy konkrétan hogyan oldja meg.
Azért mondom, hogy kicsiben, mert egy függvényen belül ennek nincs nagy jelentősége, maximum szoktatod magad csak az interfészek deklarálásához. Nagyobb programban viszont, ahol komponensek kapcsolódnak egymáshoz, ez már kritikussá válik. És jönnek olyan finomságok, mint Dependency Inversion.
-
pvt.peter
őstag
Sziasztok!
Biztos nagyon amatőr kérdés lesz, de ha pl. van egy ilyen:
Map<String, Person> people = new HashMap<String, Person>();
akkor a people változót miért nem így deklaráljuk:
HashMap<String, Person> people = new HashMap<String, Person>();Ha már így is úgy is HashMap<String, Person>(); lesz belőle?
Egyáltalán miért jó ez a sima Map -féle deklarálás?
Előre is köszi a kiigazítást.
-
Karma
félisten
Válaszolok én is egy kérdéssel, ugyanis egyáltalán nem jött át, hogy a Histogram osztályodnak milyen szerepet szántál. A kódrészlet alapján ez csinálja a számítást, a rajzolást és az ablak feldobását is, ami mindezt megjeleníti? Mert azért ez durván sok felelősség egy osztálynak.
A privát JPanel megoldás egynek elmegy. Egy másik ilyen tákolat meg ha a Histogram lenne a JFrame leszármazott, nem csak egy Object.
A lényeg az, hogy a paint() felüldefiniálást nem úszhatod meg. Máshol hiába próbálsz rajzolni a kódodban, az Swinget nem fogja érdekelni.
-
Visszafelé könnyebb átállni. Egy webes alkalmazás sokkal összetettebb, mint egy asztali, a fejlesztése magasabb szakmai felkészültséget követel meg. Asztali alkalmazásnál igazából csak a swing-es osztályokat kell megismerni, meg érteni az Event dispatching thread működését.
-
Soak
veterán
Köszi a válaszokat !! Visszafelé ugyanígy működik?
-
TBG
senior tag
Nem következik. A webes alkalmazásfejlesztés Java-ban egy teljesen más műfaj. Ahogy a kolléga is írja, a GWT áll a legközelebb hozzá, de HTML/JS ismeretek ott is elengedhetetlenek.
Egyrészt kell egy erős backend ismeret...minimum Servlet szinten, de a különféle EE környezetek ismerete is erősen ajánlott. -
Soak
veterán
Sziasztok !
Aki tud desktop alkalmazast fejleszteni Javaban abbol kovetkezik hogy webes alkalmazast is tud?
-
Karma
félisten
Csinálnod kell egy komponenst, amit a Frame gyerekének adsz, és az végzi a rajzolást. Vagy csinálsz egy BufferedImage-et, arra rajzolod a hisztogramot, és a paint metódusban egyszerűen kirajzolod a tartalmát.
Valamilyen leszármazást kell csinálnod, nem erőszakolhatod meg a rendszert. Ja és a getGraphicsot felejtsd el, az csak painten belül életképes.
-
Hello!
Kis segítség kéne, adott a következő kód (egy képről szeretnék hisztogramot csinálni, első körben csak próbálkozom a kirajzolásával - Google Chart API adja majd a grafikont).
Gyakorlatilag a this.g.drawRect(10, 10, 100, 100); nem csinál semmit. Na most ha származtatnám a JFrame osztályt akkor a paint() metódussal működne. De valahogy így kéne megoldani. Hogy tudom odapasszolni a grafikát a keretnek?
Köszi!
mobal,
-
TBG
senior tag
válasz
WonderCSabo #3520 üzenetére
Ha a változó/metódus el van fedve, akkor annak oka van. Ha mégis el kell érni, akkor protected. Vagy publikus getter
Alapvetően design kérdése egyébként.
-
WonderCSabo
félisten
válasz
Superhun #3518 üzenetére
Ez így van, és ezt írtam én is. Azért kérdeztem a láthatóságot, mert csodálkoztam, hátha vmi új történik.
TBG: Miért is? Mi van akkor, ha a gyerek metódusából akarok elérni egy másik metódust ami el van fedve/felüldefiniálva a gyerekben, vagy egy változót, ami el van fedve a gyerekben?
Egyébként igazad van, általában arra szoktuk, és arra egyértelmű használni, amire Te gondolsz.
-
TBG
senior tag
super-t csak @Override-olt metódusnál "szép" használni.
-
válasz
WonderCSabo #3517 üzenetére
Tök mindegy a láthatóság. Ha private, akkor super-rel sem éri el, többinél meg this-szel is. Egy esetben van értelme használni a super kulcsszót tagváltozón: amikor van egy ugyan olyan nevű tagváltozó a gyerekben is (de ezt a megoldást nem szeretjük).
-
Jim-Y
veterán
Egy óráig él a link.
-
WonderCSabo
félisten
Először is javaslom, hogy tartsd be a java névkonvenciókat. Másodszor, ne használj publikus változókat, ez felrúgja az OOP egyik legfontosabb alapelvét, az enkapszulációt. Használj helyete private/protected változókat, és ha kell készíts hozzájuk publikus getter/setter metódusokat.
Kérdésedre válaszolva:
Az örökölt típusok alatt örökölt tagváltozókat értesz? A típus az egész mást jelent. Amennyiben public, package private, vagy protectedláthatósága van az ősben lévő változóknak, akkor simán eléred őket a gyerekben csak a nevük leírásával. Pl.public void methodInDerivedClass() {
System.out.println("inherited variable: " + inheritedVariable);
}Ahol ez a metódus a gyerek osztályban, az inheritedVariable pedig a szülő osztályban van.
Ez volt a kérdésed?
-
artiny
őstag
(#3512) Jim-Y a blank veretlen volt,nem akartam kiírni.
Van egy osztaly ami orokolt Bike bol az Id,farbat-t,
Hogyan hivjam meg System.outprintln -ál a parent osztálytol orokolt tipusokat?
http://pastebin.com/tXhL3PDk -
artiny
őstag
Ilyen fajta java (hivatalos) oldal letezik magyarul?
http://java.mrazovci.eu/poziadavka-zachytenia-alebo-urcenia -
pvt.peter
őstag
mindkettőtök hozzászólásában van vmi
-
pvt.peter
őstag
nekem ez nem tartott sokáig, főleg úgy, hogy eclipse megvolt nyitva
véleményem szerint ha vki programozással szeretne kezdeni, akkor ne ugorjon neki azonnal az OOP-nek
érdemes sima C -vel kezdeni, egyrészt azért, hogy pl. tisztában legyen a ? : kifejezéssel
persze nekem is van még sok mindent tanulnom -
TBG
senior tag
válasz
WonderCSabo #3499 üzenetére
Megint csak csatlakozom...ha nincs performance loss, meg lesz backward compatibility....akkor jöhet.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Milyen TV-t vegyek?
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- Interactive Brokers társalgó
- Huawei Watch GT 5 Pro - egészség + stílus
- Fejhallgató erősítő és DAC topik
- exHWSW - Értünk mindenhez IS
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen alaplapot vegyek?
- Autós topik
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 4070Ti Super GAMER PC termékbeszámítással
- Napi 1000 -ft tól elvihető RÉSZLETFIZETÉS BANKMENTES MSI Cyborg 15 A13VE
- AKCIÓ! MSI Z790 i5 14600KF 64GB DDR5 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
- BESZÁMÍTÁS! Dell Latitude 5550 üzleti -Intel Ultra 7 165U16GB DDR5 RAM 1TB SSD Intel Graphics WIN11
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged