Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: KLINTHOLM 3 fiókos fekete, acél, zárható kiegészítő elem
- sziku69: Fűzzük össze a szavakat :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Szólánc.
- Elektromos rásegítésű kerékpárok
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- GoodSpeed: Kell-e manapság egérpad vagy sem?
- sh4d0w: Kalózkodás. Kalózkodá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
-
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
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Arc Raiders
- Okos Otthon / Smart Home
- Kerékpárosok, bringások ide!
- A fociról könnyedén, egy baráti társaságban
- Gitáros topic
- Sütés, főzés és konyhai praktikák
- Adobe Lightroom topic
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Óra topik
- További aktív témák...
- 0 perces RYZEN laptop eredeti Win10-zel! GAR/SZÁMLA (a Te nevedre)! LEGOLCSÓBB SZÁMLÁS ÁR! ÁRON ALUL
- Samsung Galaxy Tab S8 Ultra 14.6 abszolút karcmentes, még 8 hónap garancia
- Apple iPhone 17 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 14 Pro Max 128GB Deep Purple Gyári független
- PC bontás - Thermaltake ház, Fsp 650W, GIGYBYTE AB350M, AMD RYZEN 5 1600x, 16GB DDR4 3000, GTX 1080
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024, 100% Akksi
- BESZÁMÍTÁS! ASRock B650 Steel Legend WiFi R5 8600G 32GB DDR5 500GB SSD RX 7800XT 16GB NZXT H700i
- Gyári garanciával Digitalizáló tábla XP-PEN Artist Pro 24
- 2 db (130 / 131) - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Sanyo akkutöltő + 2 használható akku
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest
. 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 )
)

