Hirdetés
- Azt hittük, a GeForce RTX 3060 már leköszönt, de úgy látszik, hogy mégsem!
- Porvihar, zuhogó eső és hó, de az Akasa passzív háza kitart
- Párduc a gépben: teszten az ASUS ExpertBook Ultra
- Mostantól nem kell az Intel segítsége a többképkockás képgeneráláshoz
- Máris frissítette az ipari felhasználásra szánt Ryzen Embedded szériáját az AMD
- Vezeték nélküli fülhallgatók
- Milyen egeret válasszak?
- Melyik tápegységet vegyem?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Vezetékes FEJhallgatók
- Micro Four Thirds
- A TCL egyebek mellett egy 1040 Hz-re képes monitorral készül az idei évre
- Apple asztali gépek
- Milyen monitort vegyek?
Új hozzászólás Aktív témák
-
Chris_T
tag
ez az, kösz a tippet

ilyesmire gondoltam én is csak nemtudtam hogy lehetne megoldani (nem dolgoztam még ilyen módon obj. referenciákkal)az első ötlet az volt hogy lenne egy folyamatosan futó ciklus a táblában ami figyeli pl a bábúk selected adattagjának változását, de ez talán felesleges erőforrás-pazarlás lett volna
remélem így jo lesz mostmár, de a lényeg hogy egyelőre működik

((Babu)e.getSource()).getOwner().mezoModosit((Babu)e.getSource());
így tulajdonképp vissza lesz küldve módosításra az adott mező (ami az eredeti célt meg is valósítja) -
Chris_T
tag
ja, mostmár valamennyire értem
mostmár nagyjából megvan az alapja az egész programnak, csak azt nem tudom hogy oldjam meg a kommunikációt két olyan objektum közt amikor egyik számára nem ismert a másik obj.példány neve, mégis meg kéne hívni a metódusát
konkrétan arról van szó hogy a bábuk tömbjét (class Babu extends JPanel) adatelemként tartalmazó objektum (class Tabla) tartalmazza a tömböt módosító metódusokat is , ezeket kellene meghívni az egyes bábúkra aggatott eseménykezelőkből (MouseListener), csak hát a az eseménykezelő nem tudja a nevét a táblának ami egy másik osztályban, az ablakban kerül példányosításra (Ablak extends JFrame)
ami leegyszerűsítené a dolgokat hogy a Tabla class implementálná a MouseListentenert is egyben, és így abból egyszerűen meg lehetne hívni a 'Tabla' metódusait
azonban ez ellentmondana a terveimnek (külön classok) illetve az újrafelhasználhatóságnak[link]
itt találtam megoldásokat, csak ebben az esetben nem olyan egyszerű mert nem az eseményt kiváltó objektum metódusát kell meghívni hanem annak az objektumnak (tábla) a metódusát ami az eseményt kiváltó objektumok tömbjét tartalmazza adattagként ( Babu[][] mezok = new Babu[5][5]; ) -
Chris_T
tag
"az Event getSource() methodusa Object-et ad vissza."
na, kösz ezt nem tudtam (gondoltam magát a konkrét objektumot adja vissza mert az összehasonlítás egy ugyanolyan tipusú objektummal és az instanceof, toString működött eddig is, de akkor ezekszerint nem ezért )Na, megvan a probléma: rossz volt a zárójelezés és ezért nem fogadta el a cast-olást

-
Chris_T
tag
Helló, ismét lenne egy kérdésem, ezúttal eseménykezeléssel kapcsolatban:
Habár már dolgoztam MouseListener-el, és jól is müködött
most hogy elkezdtem újrairni a programomat különálló osztályokban (egy táblajáték) egyre több a probléma, az egyik hogy az eseménykezelő e.getSource() metódusa elvileg az 'e' eseményt kiváltó objektumot adja vissza
ennek az egyik metodusát hivnám meg ( getBackground() , mivelhogy egy JPanel példányról van szó)
de nem hajlandó leforditani se, arra hivatkozva hogy a getBackground()-ot nem találja az ősosztályban (Object) , amit nem értek, hiszen be van importálva az az osztály amiböl a kérdéses objektum van példányositva (JPanel), illetve ugyanez müködött amig egyben volt az egész programa fordítási hiba:
.\elements\EsemenyKezelo.java:13: cannot find symbol
symbol : method getBackground()
location: class java.lang.Object
if( e.getSource().getBackground().equals(Color.GREEN) )Azt nem értem, hogy miért simán Object-ként kezeli, miért ott keresi a getBackground()-ot, mikor konkrétan lehet tudni hogy az egy 'JPanel'-ból származtatott 'Babu' osztályú objektum, és abban benne van ez a metodus
u.i: úgytünik castolással se müködik, illetve akkor se ha az obejektum csak simán JPanel
-
-
Chris_T
tag
Üdv.
Egy olyan problémám van ami már rettentő idegesítö, mert teljesen érthetetlen és nem találok rá semmi megoldást
GUI-val kapcsolatosVan egy Ablak osztály ami a JFrame-t örökli
Ha ebben hozok létre egy JLabel-t és adom hozzá, akkor a szöveg egyszerü formázatlan szövegként fog megjelenni az ablakban ( UIManager-el átállítottam a kinézetet, ezért itt nem hat az hogy a swing alapesetben félkövérre állítja a szövegeket)De ha ezt a JLabelt egy előre létehozott külső osztályból importálom akkor minden beállítás ellenére félkövérre állítja
Itt viszont arra gyanakodtam hogy erre már nem terjed ki a Ablak osztály UIManager beállítása - de hiába állítottam itt is be külön a kinézetet, nem működik)
Ha van valakinek valami ötlete, írjon, elöre is kösznéhány kódrészlet:
Az ablak osztály egyes részei:
public class Ablak extends JFrame {
Status statusz;
JLabel valami;
[...]
public Ablak() {
statusz = new Status();
valami = new JLabel("nem félkövér, egyszerű szöveg");
[...]
add(statusz);
add(valami);
}
}A teljes Status osztály:
import javax.swing.*;
import java.awt.*;
public class Status extends JLabel {
String text;
public Status() {
text = new String("ez nem kellene hogy félkövér legyen");
setText(text);
}
} -
Chris_T
tag
válasz
Votyesz13
#1724
üzenetére
szte/hálózatok 2010 kötprog esetleg?

sajnos ebben nem vagyok otthon (nekem is lenne elvileg, de nem vettem fel most ezt a tárgyat), de lehet hogy ezt még egyszerűbb lenne konzolosan elkészíteni
mindenesetre ami kész van azt még ma este felrakom, hátha segít valamit (aztán csinálom a java kötprogot hátha lesz belöe valami
) -
Chris_T
tag
válasz
Votyesz13
#1722
üzenetére
Helló
Én úgy csinálnám (ha GUI-val ellátott számológépröl van szó):
Ablak osztály mely a JFrame-t örökli:
-ezen belül a gombváltozók(tömb), egy JLabel az eredmények kijelzésére, és a számváltozók (a, b, c)
-konsruktor mely létrehozza az Ablakot (beállítja az ablak tulajdonságait, az elrendezést, létrehozza a gombokat, feltölti vele az ablakot)
-egy eseménykezelő metódus
-egy számoló metódusProgram föosztály
-ezen belül a main metódus, ebben csak példányosítani kell az Ablak-ot, és láthatóvá tenni (bár azt a konstruktorában is lehetne)Közben el is kezdtem csinálni, én is már régóta akartam egyet írni

(ha érdekel késöbb beposztolom a kódot)szerk.: +megoldani a számok bevitelét műveleti gomb megnyomásáig, na ez lehet hogy nem is lesz olyan egyszerü mint gondoltam elsőre
-
Chris_T
tag
Üdv újra
ha valaki tapasztalt a paintComponent() használatában, le tudná irni hogy lehet az alább is látható "felület"-et többféle alakzat kirajzolására használni, anélkül hogy újabb rajzfelületeket kelljen létrehozni minden alakzatnakclass Felulet extends JPanel {
Felulet() {
setPreferredSize(new Dimension(600,290));
setOpaque(true);
}
protected void paintComponent(Graphics g) {
g.setColor(Color.RED);
g.fillRect(x0, y0, x1, y1);
}
} -
Chris_T
tag
válasz
Lortech
#1715
üzenetére
Kösz,
közben rá is jöttem hogy müködik pontosanIgazából azt nem értettem hogy a getSource metódust hogyhogy lehetséges ponttal elválasztva összekötni az equals metódussal
Aztán leesett hogy mikor a getSource visszaadja obj. referenciáját -> annak hívja meg az equals metódusát (mivelhogy minden objektumnak megvan ez a metódus) -
Chris_T
tag
Üdv.
Az esemény kezeléssel kapcsolatban lenne egy kérdésem, azon belül pedig az aktivált elem alapján történő vizsgálat:
e.getSource().equals(gomb1)
nem egészen értem hogy itt hogy az e esemény getSource metódusának meghivásakor hogy hogy is müködik a .equals
az action command alapján történő vizsgálatot még értem
e.getActionCommand() == "egyes"
mert itt a visszaadott érték egy string, és ezt hasonlitja össze egy másikkal
( itt találtam egy jó tutorialt, csak ebben pont az nincs részletezve)
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Apple iMac 27" 5K 2015 Late / 16GB DDR3 / 512 GB SSD / Bill+Egér 6 hó garancia, számlával!
- Surface 4 - 15" 2496 x 1664 ~2k touch, i7-1185G7, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- ASTRO A50 WIRELESS HEADSET + BASE STATION 4th gen. fejhallgató
- Apple iPhone 17 Pro Cosmic Orange 256GB karcmentes 100% akku (49 ciklus) garancia 2026.12.29-ig
- MikroTik RB5009UPr+S+IN
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




