Hirdetés
Új hozzászólás Aktív témák
-
Murphistic
aktív tag
-
Murphistic
aktív tag
A ma délután írt hozzászólásomban írt kód működött. Viszont a tesztemben volt annyi körítés hozzá, hogy az ablakban volt egy gomb is és a számláló csak arra kattintva indult el, de ez szerintem nem számít.
A kód egyébként így az alapértelmezett megjelenítést használja. Én pl. a NetBeans-ben állítottam be, hogy milyen színű legyen a JLabel.
Egyébként nagyon eredeti megelenítést akarsz? Mert akkor tényleg a Graphicsos megoldást kéne megtalálnunk
. Annyit olvastam, hogy az update eljárás békén hagyja a hátteret és meghívja a ComponentUI osztály update függvényét. Itt elvesztettem a fonalat, hogy miért nem működik ( esetemben a végén eltűnt a kiírt szöveg csak a háttér maradt )
-
Murphistic
aktív tag
Megint próbálkoztam egy kicsit. Sajnos most olyan hibával találkoztam, hogy ugyan szépen frissíti a képet a kód ( az is, amit elsőnek írtál ), de a végén, amikor kilép a ciklusból eltűnik a kiírt szöveg. Mintha ezt a Java update hívásai okoznák, sajnos a megoldásra még nem jöttem rá.
Viszont ha csak egy számláló kiírása a cél, akkor szerintem egyszerűbb egy JLabel-t használni erre a célra, amit pl. NetBeansben is vagy saját prancsokkal testre szabsz ( háttérszín, betűméret, betű színe, típusa )
Csináltam egy osztályt, aminek a konstruktorában beállítod, hogy melyik JLabel számoljon és utána meghívod a start-ot.
class IdoThread extends Thread{
JLabel label;
public IdoThread(JLabel label)
{
this.label=label;
}
public void run(){
int ido=0;
while(ido<5){label.setText(""+ido);
label.update(label.getGraphics());
try{
Thread.sleep(1000);
}catch(InterruptedException ie){
ie.printStackTrace();
}
ido++;}
}
}Valahol a programkódban, ahol szükséged van a számláló elindítására ( pl. egy gombra kattintva ) beszúrod ezt:
IdoThread it=new IdoThread(jLabel1);
it.start();Ennek még az is az előnye, hogy nem blokkolja az alkalmazásod felületét, tehát a számláló akkor is megy, ha mondjuk gépelsz a programodban, vagy így használható lesz egy másik gomb is, ami mondjuk a számláló leállítására szolgál.
Úgy néz ki, hogy a tegnap esti megoldásom egy elég nagy katyvasz lett
és nem valószínű, hogy működni is fog.
Nem tudom, hogy ennyi megoldja-e a problémádat, mert az tényleg furcsa, hogy nem akar működni a kirajzolás a Graphics-on.
-
Murphistic
aktív tag
Hmmm.
Most olyasmi jutott még eszembe, hogy az update() hívása nem-e egy másik szálban fut le, ami az aktuális szál lesz és emiatt a sleep dob egy kivételt és emiatt a vibrálás.
Esetleg ki lehetne próbálni az updatet egy külön szálonmeghívni, így nem az lenne az aktuális.
Akkor megpróbálnám így: ( az updatet egy külön szálban hívnám meg )
//Egy külön osztály az update meghívására
class UThread extends Thread{
Graphics g;
JFrame jf; //nem tudom hogy JFrame-e a super típusa a mintádban
public UThread( Graphics g, JFrame jf )
{
this.g=g;
this.jf=jf;
}
public void run(){
jf.update(g);
}
}ido++;
nap.setText(""+ido);
g.drawString(nap.getText(),10,90);UThread ut=new UThread(g, super);
ut.start(); //meghívjuk az updatet
try{
Thread.sleep(1000);
}catch(InterruptedException ie){
is.printStackTrace(); //kiírjuk az esetleges hibainformációt
}Remélem nem írtam el semmit, most sajnos nincs alkalmam a kód ellenőrzésére.
-
Murphistic
aktív tag
Szervusz!
Az nem lehet a gond, hogy a super.update(g) -t azután hívod meg, hogy 1 másodpercet őihent a szálad és utána azonnal módosítja a kiírt számot?
Én így próbálnám meg:
g.drawString(nap.getText(),10,90);
super.update(g);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {} -
-
ArchElf
addikt
1) Ha minden fehér, a többi meg fekete, akkor egyszerűen úgy kell mozgatni az eszközt, hogy a fekete test egy adott kamera szélességbe (mondjuk a középső 30%-ba) ne lógjon be. Jobb módszer, ha a látottak alapján virtuális térképet készítesz, de ez egyrészt bejárást igényel, másrészt távolságokat kell valahogy számolni)
2) Távolságot csak úgy tudsz mérni, ha
a) tudod mekkora a tárgy
b) nem fix a kamera fókusza (akkor a objektív állásából + élességből) tudsz következtetni a távolságra
c) 3D-s kamera-rendszernéll a két kamera látószöge alapján lehet számolni a távolságot
d) elmozdulsz és nézed a tárgy növekedését/csökkenését. Ha a te elmozdulásod mértékét tudod, onnan tudsz következtetni a tárgy távolságáta/méretére.AE
-
skoda12
aktív tag
Attól függ. Ha OOP szemléletet akar valaki felszedni, akkor sok kódot kell olvasni. Ezután ha már megvan a megfelelő absztrakciós készség, akkor jöhetnek a design patternek. Ha viszont algoritmizáló készségre vonatkozik a kérdés, akkor sokat kell gyakorolni acm stílusú versenyfeladatok kódolásával.
-
ArchElf
addikt
A kép (mint bittérkép) megvan? Ha igen utána különböző kép-manipulációs technikák segíthetnek: szín-szűrés, edge-detection, kontraszt érzékelés, stb.
Konkérétan hogy képzeled el, hogy "nagy akadály"? Ha ezt (matemaikailag) meg tudod fogalmazni, akkor már csak a megfelelő algoritmust kell megkeresned/megalkotnod. Ha nem meg a definiálás, hiába is izzadsz rajta...
AE
-
x123456
aktív tag
-
x123456
aktív tag
Ha ATI-d van, akkor valószínűleg ez a baja:
There is a known
ATI driver bug in glXQueryVersion that incorrectly reports the GLX
version as 1.2 when it really is 1.3,Eszerint bugos az ATI driver és azt hazudja magáról, hogy GLX 1.2 van benne, holott a valóságban 1.3-as.
Ez segít rajtad?
(esetleg egy újabb ATI driver, bár elég csúf tapasztalatokat szereztem vele azalatt a rövidke pár óra alatt, amíg ATI kártya volt a gépemben)
Mondjuk nekem úgy tűnik, hogy inteled van, akkor meg a fenti tárgytalan, de tévedhetek.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Építő/felújító topik
- NBA és kosárlabda topic
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- CADA, Polymobil, és más építőkockák
- Mini-ITX
- Samsung Galaxy S24+ - a személyi asszisztens
- OLED monitor topic
- Vezetékes FEJhallgatók
- AMD Navi Radeon™ RX 9xxx sorozat
- Xbox tulajok OFF topicja
- További aktív témák...
- HP Victus 16-s0002nh - 16.1" FullHD IPS 144Hz - Ryzen 5 7640HS - 32GB - 1TB - RTX 4050 - 1,5év gari
- Eladó steam kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Smart Fortwo - 600 Benzin - Kabrió - Klíma - Nagyon szép állapotban
- ThinkPad L14 Gen1 14" FHD IPS i5-10210U 16GB 256GB NVMe magyar bill ujjlolv IR kam gar
- Samsung Galaxy S22 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- Beszámítás! Dell Optiplex 3000 SFF asztali számítógép - i5 12500 8GB RAM 256GB SSD Intel UHD 770 IGP
- 14" Dell Latitude laptopok: 5400, 5480, 5490, 7480, E7440, E7450 / SZÁMLA + GARANCIA
- Csere-Beszámítás! Lenovo Ideapad Gaming 3 Garancia: 2026.07 // R7 5800H / GTX 1650 4GB
- Samsung S23 128GB / normál állapotban / 12 hónap jótállásal
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W dokkoló (3TR87AA)
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest