Hirdetés
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Harcban az adathalászokkal - az AI tud segíteni?
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- urandom0: Száműztem az AI-t az életemből
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Parci: Milyen mosógépet vegyek?
- Real Racing 3 - Freemium csoda
Ú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?:))
- Hardcore café
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Milyen belső merevlemezt vegyek?
- Chieftec-Prohardver nyereményjáték
- Yettel topik
- Bluetooth hangszórók
- Xbox tulajok OFF topicja
- Derült égből villámcsapás: vége a Ford elektromos kalandjának
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Linux kezdőknek
- További aktív témák...
- Gamer PC RX 6700 XT 32GB RAM Vízhűtés Win11 Pro Ajándék RGB tartó
- Xiaomi Redmi 14C 256GB, Kártyafüggetlen, 1 Év Garanciával
- MSI MAG 271QPX QD-OLED Gamer Monitor!27"/2k/360hz/0,03MS/G-sync -Freesync/Konzolhoz is!Beszámítok!
- MSI MAG 321UPX QD-OLED Gamer Monitor!32"/4k/240hz/0,03MS/G-sync -Freesync/Konzolhoz is!Beszámítok!
- Macbook Air 2017. (1,8ghz 8gb 128gb)
- Eredeti Lenovo 230W töltők - 4X20Z83995
- Apple iPad 11Pro Wifi+Cell 256GB Kártyafüggetlen 1év Garanciával
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- Felújított laptopok számlával, garanciával! Ingyen Foxpost!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest

