Hirdetés
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Bambu Lab 3D nyomtatók
- Gaming notebook topik
- Projektor topic
- AMD Navi Radeon™ RX 9xxx sorozat
- Androidos fejegységek
- Új kezdeményezéssel pofoznák ki a Linuxot a játékosoknak
- TCL LCD és LED TV-k
- Mesterien csapta le az OpenAI reklámparáját egyik konkurense
Ú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. -
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) -
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...
-
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.
-
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. -
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.
-
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.
-
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. -
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.
-
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á ...

-
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...
-
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). -
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? -
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 -
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Kerékpárosok, bringások ide!
- Google Pixel topik
- Synology NAS
- Szeged és környéke adok-veszek-beszélgetek
- Samsung Galaxy A54 - türelemjáték
- HBO Max
- Redmi Note 15 Pro 5G – a szokásosat?
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Lakáshitel, lakásvásárlás
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- További aktív témák...
- új 15 hüvelykes MacBook Air M4 256GB SSD sky blue égkék Apple magyar 1 év garancia
- új Harman Kardon Onyx Studio 9 hordozható Bluetooth hangszóró ezüst 1 év garancia
- Seasonic Focus 750W 80 PLUS Gold / Csavarmatricás / BESZÁMÍTÁS OK!
- Inno3D RTX 2070 Twin X2
- Seagate FireCuda 2TB HDD 100% / BESZÁMÍTÁS OK!
- HIBÁTLAN iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4513
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
- Készpénzes / Utalásos Számítógép felvásárlás! Személyesen vagy Postával!
- Keresünk iPhone 16/16e/16 Plus/16 Pro/16 Pro Max
- LG 65M4 - 65" Wireless OLED evo - 4K 144Hz - MLA Plus - 3000 Nits - NVIDIA G-Sync - FreeSync
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs



De úgyis csak kísérletről van szó, nem?



)

