Hirdetés
- Lassan állítjuk a fát, és a hardverek is be vannak csomagolva
- Klasszikus kínai festmények ihlették a Colorful legfrissebb memóriáinak külsejét
- Ultrakompakt Key E SSD-vel jelentkezett a Silicon Power
- Mesterséges intelligenciára kihegyezett mini PC jött az ASUS műhelyéből
- ASUS blog: ExpertBook P5 notebook, a munkagép
Új hozzászólás Aktív témák
-
skoda12
aktív tag
válasz x123456 #1937 üzenetére
Bár nem kifejezetten javas fórum, de van rajta pár javahoz értő: hup
Ez meg nem igazán forgalmas: javaforum
Egyébként swinges kérdésekre ezeken a helyeken sem kapsz túl sok érdemi választ. Swing, AWT mind halott, amire ezeket az apikat használták, abban már a .NET vonal erősebb. Ami java vonalon pörög az a spring, hibernate, seam, richfaces, jsp, jsf. A többibe szerintem ne ölj túl sok energiát.[ Szerkesztve ]
-
x123456
aktív tag
válasz x123456 #1935 üzenetére
Épp csak a lényeg maradt le...
szóval létre akarok hozni két menüt, eltérő fontokkal.
Ilyenkor minden egyes menüponthoz egyenként be kell állítani, hogy milyen fontot használjon. Automatizálni persze tudom, de kérdés, hogy van-e valahol a swing-ben/awt-ben eldugva ilyen beállítási lehetőség? -
-
x123456
aktív tag
válasz x123456 #1928 üzenetére
Továbbmegyek: semmilyen 1x1 cellásnál nagyobb komponens sem akar úgy működni, ahogy a leírás alapján képzelném:
cc.setLayout(new GridBagLayout());
GridBagConstraints gbc;
gbc=new GridBagConstraints();
gbc.gridx=1; gbc.gridy=1;
gbc.gridwidth=3; gbc.gridheight=3;
JButton b0=createJB("BUTTON0","cmd0",this);
b0.setBorder(new TitledBorder("keretes keret"));
cc.add(b0,gbc);A "cc" a JFrame.getContentPane()-ből származik. A fentiről én úgy gondoltam, hogy egy 3x3 cellát elfoglaló gombot kapok, a panel bal szélén és tetején egy-egy üres oszloppal, ill. sorral.
Ehhez képest kapok egy egyetlen cellát elfoglaló objektumot az ablak közepén.
Mit rontok el v. értek félre? (az a Border-es dolog csak nyomkövetési céllal került bele: arra voltam kíváncsi, a komponens foglal-e kisebb helyet, mint szeretném vagy a helyfoglalás stimmel, csak a gomb méretezése lesz kisebb - ebből úgy tűnik, valóban kisebb helyet foglal az előírtnál)[ Szerkesztve ]
-
Karma
félisten
válasz x123456 #1924 üzenetére
Ez most csak egy ötlet, de szerintem meg lehet oldani.
Most olvastam, hogy a statikus metódusok compile-time bindingon mennek át, tehát ha az ősosztályban hivatkozol egy saját statikus metódusra közvetlenül, akkor biztosan az ősosztályé fog meghívódni.
Viszont ha reflekciót használsz, akkor meg tudod hívni név alapján.
Úgyhogy megpróbálhatnál az ős- és leszármazott osztályban is egy azonos nevű factory metódust írni, és azt a main()-ben GetClass().GetMethod("xxx") és az Invoke() segítségével meghívni.
Annyi mondjuk a csavar csak, hogy a main() metódust indításkor meg kell határoznod, melyik osztályban keresse a JVM De úgyis csak kísérletről van szó, nem?
Élő rendszerekben ez nagyságrendekkel bonyolultabb, általában frameworkök vannak az életciklusokra, a cserélhetőségre meg ilyenek...
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz x123456 #1921 üzenetére
A beépített layoutokkal való szívás helyett fogd meg a MigLayoutot, pillanatok alatt össze fogod tudni rakni vele amit szeretnél.
Céges projectben is felhasználtam már (BSD licenc), sok évvel meghosszabbította a várható élettartamomat.
[ Szerkesztve ]
“All nothings are not equal.”
-
x123456
aktív tag
válasz x123456 #1914 üzenetére
Ezt kissé át kell fogalmaznom, mert azt hiszem, valamit félreértettem elsőre: szóval annyi lenne a lényeg, hogy egy darab komponenst szeretnék egy 3x3 mezőnyi helyet elfoglaló terület közepére tenni úgy, hogy akkor is a mező közepén maradjon, ha változik az ablak mérete. Ezt a GridBagLayout-tal hogy lehet megoldani?
Valahol elvesztem a doksikban. Úgy tűnik, a fill és anchor mezőkön kívül is van még valami, ami befolyásolja a komponensek elhelyezését, mert ezzel a kettővel a max. amit el tudtam érni az az volt, hogy a 3x3-as terület alsó sorának közepére tette...
Hm. Na mind1, még keresgélek. -
shev7
veterán
válasz x123456 #1902 üzenetére
"Olvastam ezt az android-google ellen készülő pert"
Az teljesen masrol szol. A google irt egy sajat VM-et, a Sun azt allitja, hogy a VM kodjanak egy reszet toluk nyultak. Ennek a pernek semmi koze ahhoz, hogy te irsz egy java alkalmazast.
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Löncsi
őstag
válasz x123456 #1895 üzenetére
javax.swing.SwingUtilities.invokeLater(new Runnable() { .. }
Fontos ,hogy kirajzolásokat az EDT szálon hajtsuk végre, más esetben hiba léphet fel (nomeg a grafikai műveletket meg kell próbálni függetleníteni a számításoktól, ezért kell külön szál).
Az invokeLater biztosítja, hogy a kirajzolás EDT szálon hajtódik végre. (Ugye paraméterben egy Runnable-et adsz át, a run() metódus tartalmazza a grafikai parancsokat).Le is tudod ellenőrizni ,hogy a kirajzolás EDT-n történik-e, az isEventDispatchThread() függvény meghívásával , logikai értéket ad vissza.
Remélem hasznos volt,bár látom utánajártál.
[ Szerkesztve ]
Elvették a radírját, azt az egész élete egy nagy kompenzálás, hogy ő igenis kan és igenis 2 méteres a fallosza - by stranger28
-
x123456
aktív tag
válasz x123456 #1895 üzenetére
Azt hiszem, megvan a magyarázat.
-
x123456
aktív tag
válasz x123456 #1886 üzenetére
Van itt valaki, aki érti a hivatkozott hozzászólásomban vázolt "súlyos" problémámat?
Ha igen: nem lehet, hogy marhaságot akartam ráerőszakolni a java-ra?
Amikor írtam még úgy éreztem, hogy értem mit akarok. Azóta kissé elbizonytalanodtam: jelenleg értelmetlennek tűnik az elképzelés, hogy osztálydefinícióba wildcardot tegyek...Az a baj, hogy már nem tudom eldönteni: akkor voltam belekavarodva az info áradatba, vagy most (hogy már értelmetlennek tűnik) kutyultam össze valamit.
-
x123456
aktív tag
-
skoda12
aktív tag
válasz x123456 #1883 üzenetére
"Ezt a metódust úgy kell értelmezni, hogy van egy U paramétere, valamint egy olyan, ami a List generikusból, azon belül kizárólag a Box generikus valamely fajtájából származik és megkötés, hogy a Box "altípusa" (nem tudom, erre mi lenne a helyes kifejezés) meg kell egyezzen az első paraméter típusával/osztályával?"
Igen, valamilyen Box-okat tartalmazó listát vár. Egyébként java.util.List-ként találod meg a listát, ami egy interface. Az implementációi pedig szintén a java.util csomagban találhatók.
[ Szerkesztve ]
-
skoda12
aktív tag
válasz x123456 #1881 üzenetére
Ahogy a linkelt oldalon is látható, a Box egy generikus osztály és tartalmaz t névvel egy változót:
...
private T t;
...
Az add függvény ennek a t-nek adna értéket. A fillBoxes pedig átvesz egy listát, amiben Boxok vannak és minden Boxhoz hozzáadja u-t. De nyilván tudnia kel, hogy mi a típus. Ez lesz az a típus, amit U helyére írsz be.[ Szerkesztve ]
-
skoda12
aktív tag
válasz x123456 #1874 üzenetére
Viszonylag gyakran előkerülnek. Gondolj pl a tárolókra, mint a Vector, HashMap, LinkedList, ... vagy pl TypedQuery JPA-ban. De saját generikus class-t vagy interface-t is sokszor kell írni. Ezekkel a generikusokkal megspórolható egy csomó castolás, így gyorsabb a program.
[ Szerkesztve ]
-
skoda12
aktív tag
válasz x123456 #1868 üzenetére
Javat szerintem ne erőltesd telefonokon. Ha ilyen irányba akarsz elmozdulni, akkor döntened kell, hogy Iphone vagy Android. Iphone-nal nincs tapasztalatom, androidra viszont elég gázos a fejlesztés. Verziónként külön sdk, gagyi programnyelv és api, nincs fix programbelépési pont csak repkednek az események, xml descriptorok, bugos emulátor (de csak hogy könnyebb legyen a fejlesztés) ... Szóval elég hulladék. Lehet, hogy mint end user, nagyon látványos tapogatni az ikonokat a telefonon, de fejleszteni rá ...
[ Szerkesztve ]
-
shev7
veterán
válasz x123456 #1866 üzenetére
hat en anno csak szimpla szoveges menus alkalmazasokkal szorakoztam, de emlekeim szerint a j2me eleg volt. Bar elofordulhat hogy rosszul emlekszem....
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
A szerzetes
csendes tag
válasz x123456 #1858 üzenetére
Interface-ben hamegadsz egy metodust, az implicit abstracs és public mást nem is lehet megadni interface-en belül. Ha viszont az osztályba nem írod ki a pulblic-ot akkor csomagon belül ugyan publikus, de csomagon kívül privát és ez a viselkedés nem egyezik meg a puliblic-kal, hanem annak szűkítése, ami nem megengedett...
"Nem adom fel mert lehet, hogy holnap lesz az én napom"
-
skoda12
aktív tag
válasz x123456 #1858 üzenetére
Nézd meg, hogy tudnál külső osztályból létrehozni egy másik osztályba ágyazott osztályból egy példányt.
package javaapplication1;
class A{
class B{
}
static class C{
}
}
public class Main {
public static void main(String[] args) {
A a = new A();
A.B b = a.new B();
A.C c = new A.C();
}
}Mint láthatod, ha nem static nested classról van szó, akkor kell egy példány először a beágyazó osztályból. Ezért b által hivatkozott objektum kapcsolódik a által hivatkozotthoz.
--------------------------------------------------
Az interface-szes problémára: Egy interface minden függvénye impliciten public elérésű. Felülírási szabály szerint pedig nem szűkítheted egy függvény elérését (ezesetben publicról defaultra).[ Szerkesztve ]
-
skoda12
aktív tag
válasz x123456 #1842 üzenetére
Ha a sun-os tutort olvasod, akkor gondolom nincs gond az angol szakirodalommal sem. Ebben az esetben pedig a SCJP study guide az alapmű. Ha pedig valami spéci API érdekel, akkor arra külön kell keresni.
-
gaben
aktív tag
válasz x123456 #1838 üzenetére
Szia!
Hmm...
server glx version string: 1.2
client glx version string: 1.4
GLX version: 1.2
OpenGL version string: 1.4 Mesa 7.7.1Most a server meg a Client version közt mi a különbség? Ezt ne mnagyon értem, meg miért régi?
Még egy kérdés:
Olyan problémám volna ,hofy van egy forrsákód ,ami külső, nem szokványos importokat használ. (neurális háló példa progi )
Szóval nem ismeri az importokat alapból. .JAr fájl nincs ,helyette van egy .tar.gz állomány. Ebben vannak .class fájlok és .java fájlok is ebben van a tutor is,meg azok a jegyzékeke is amit az importbna használna. Ezt kibontom Winrarral. Eclipse-ben a Library-knál (ahol .jar-t adnám hozzá más esetben), ott rámegyek az External Class folders, beállítom ,de semmi. Mit kell ezzel kezdeni?[ Szerkesztve ]
-
Löncsi
őstag
válasz x123456 #1832 üzenetére
'a'-beli try-catch ágat törölheted sztem, mivel ott 'b'-t hívod meg, a b-hez tartozó catch fog működni.
Amúgy kérdésedre a válasz ,hogy nem tudom, igazából nem tudom mi értelme lenne..
[ Szerkesztve ]
Elvették a radírját, azt az egész élete egy nagy kompenzálás, hogy ő igenis kan és igenis 2 méteres a fallosza - by stranger28
-
skoda12
aktív tag
válasz x123456 #1828 üzenetére
Írok egy példát és abból le fog tisztulni:
package javaapplication1;
class A{
public static void staticF(){
System.out.println("staticF() A");
}
public void f(){
System.out.println("f() A");
}
}
class B extends A{
public static void staticF(){
System.out.println("staticF() B");
}
public void f(){
System.out.println("f() B");
}
}
public class Main {
public static void main(String[] args) {
A a = new B();
B b = new B();
a.f();
a.staticF();
b.f();
b.staticF();
}
}Kimenet:
f() B
staticF() A
f() B
staticF() B[ Szerkesztve ]
-
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Path of Exile 2
- Szólánc.
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Futás, futópályák
- Windows 11 - HP Pavilion – 15 cc516nh (2LE41EA) laptopon Intel I3-7100U TPM2.0
- Apple asztali gépek
- De mennyi az annyi?
- Kémia topic
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- AKCIÓ!!! GAMER PC: RYZEN 9 5900X + RTX 3060 12GB GDDR6! GARANCIA/SZÁMLA!!!
- BONTATLAN Új Iphone 16 PRO 128Gb - 1TB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- BONTATLAN Új iPhone 16 PRO MAX 256-512GGB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- Tamron SP 70-200mm f/2.8 Di VC USD G2 objektív ( Nikon )
- Azta! Yoga Slim 7 Prémium Ultrabook 14,5" -40% AMD Ryzen 5 7640S 16/512 RADEON 760M 2GB 2,9K OLED
Állásajánlatok
Cég: Axon Labs Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest