- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Geri Bátyó: Megint tahó voltam – SZEMÉLYISÉGFEJLŐDÉS
- btz: Internet fejlesztés országosan!
- gban: Ingyen kellene, de tegnapra
- votlage71: Kábel menedzsment
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- droidic: Időutazás floppyval: A 486-os visszavág PCem-men
- bambano: Bambanő háza tája
Hirdetés
Új hozzászólás Aktív témák
-
robisz
senior tag
válasz
concret_hp #702 üzenetére
Helló! A lényeg, hogy először egy BufferedImage objektumra kell rajzolni
(ezt a paintBuffer metódusba tettem át) és csak a kész képet rajzoljuk
át a komponensre.
import java.awt.*;
import java.awt.event.*;
public class Mozgas extends Frame {
private int poz;
private Image bufferImage;
private Graphics bufferGraphics;
public Mozgas() {
super(''Mozgas'');
setSize(500,500);
setBackground(new Color(192,192,192));
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void paint(Graphics g){
if(bufferGraphics==null){
bufferImage = createImage (this.getSize().width, this.getSize().height);
bufferGraphics = bufferImage.getGraphics();
}
bufferGraphics.clearRect(0,0,this.getSize().width, this.getSize().height);
//calls the paintbuffer method with
//the offscreen graphics as a param
paintBuffer(bufferGraphics);
//we finaly paint the offscreen image onto the onscreen image
g.drawImage(bufferImage,0,0,this);
}
public void paintBuffer(Graphics g){
g.setColor(new Color(255,255,0));
g.fillRect(50,50,400,400);
g.setColor(new Color(0,0,255));
g.fillRect(50+poz,50+poz,50,50);
}
public void update(Graphics g) {
paint(g);
}
public void vandorol() {
for (int c = 1; c < 350; c++) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
}
poz++;
repaint();
}
}
public static void main(String[] args) {
Mozgas mw = new Mozgas();
mw.setVisible(true);
mw.vandorol();
}
}
Saját komponenst egyébként a Component vagy a Canvas osztályból szokás
származtatni, de egy ilyen kis példa esetén így is megteszi.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Lakáshitel, lakásvásárlás
- Kerékpárosok, bringások ide!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Samsung Galaxy A54 - türelemjáték
- Xbox tulajok OFF topicja
- Okos Otthon / Smart Home
- A SAMA jóvoltából konkurenciája jött a Thermalright léghűtéseinek?
- Kompakt vízhűtés
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Android szakmai topik
- További aktív témák...
- Bomba ár! Lenovo ThinkPad T450 - i5-5GEN I 16GB I 256SSD I 14" HD+ I Cam I W10 I Garancia!
- LG 32GS95UE - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- LG 65" C1 OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready!
- Dell Latitude 5495 Full HD IPS Ryzen 5 pro 2500u Radeon Vega Mobile Gfx i5-8350u verő Bp MPL Foxpost
- iKing.Hu - Motorola Razr 50 Ultra Midnight Blue Használt, karcmentes állapotban 12 GB RAM / 512 GB
Állásajánlatok
Cég: FOTC
Város: Budapest