Ú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
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- 10 egyszerű trükk Samsung telefonokhoz
- Fotók, videók mobillal
- Sony WF-1000XM6 – ez évi etalon?
- PlayStation 5
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen monitort vegyek?
- Gyúrósok ide!
- Azonnali alaplapos kérdések órája
- Apple iPhone 17 Pro Max – fennsík
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- Lenovo Thinkpad T495 Ryzen 5 PRO 3500U/8GB RAM/256 GB SSD/14" FHD Magyar bill. laptop
- Lenovo Thinkpad X390 i7-8665u/16GB RAM/512GB SSD/13.3"FHD Touch laptop eladó
- Legolcsóbban - Érintős Lenovo ThinkPad X1 Carbon Gen9: i5-1145G7/16GB/512Gb NVMe SSD/14"FHD IPS)!
- Legolcsóbban Bivaly Workstation Lenovo P15 (Core I7 10750H 32Gb 512Gb 4Gb Nvidia)
- MacBook Air 2024 m3 8gb/256gb
- Általános igazgatóhelyettes tábla üvegből eladó
- Dell Latitude 3301 Core i5-8265U CPU / 8GB DDR4 RAM (Zsanér törött)
- Bomba ár! HP ProBook 430 G6 - i5-8265U I 8GB I 128SSD I HDMI I 13,3" FHD I Cam I W10 I Gari!
- Új Samsung GalaxyBook X360 FHD 2in1 OLED i7-1360P 12mag 16GB 512GB Intel Iris XE Toll Win11 Garancia
- áthajtós érintős 360 szinteÚJ Dell 16 Plus 2-in-1 Ultra 7 258V INTEL Arc 140V 32GB 1TB SSD 16QHD+
Á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
. 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 )
)

