Hirdetés
- NASsoljunk: ZyXEL NSA-310 és az FFP
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: A kérdés...
- oriic: A TOP 10 legtöbb hozzászólással rendelkező PH! felhasználó
- Trewerr: Analóg-digitális jelátalakítás (zenefájlok leegyszerűsítésével magyarázva)
- Lalikiraly: Astra kalandok @ Negyedik rész
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Brogyi: CTEK akkumulátor töltő és másolatai
Ú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?:))
- Asus TUF Gaming A15 AMD Ryzen 7-7435HS/16GB RAM/512GB SSD/RTX4050VGA/15,6" 144Hz kijelző
- Lenovo ThinkPad P1 Gen 4 i7 32GB RAM 512GB SSD NVIDIA T1200 16 2560 1600 Garancia
- Dell Precision 7550 i7 32GB RAM 512GB SSD NVIDIA Quadro T1000 FHD
- Dell Precision 5560 i7 32GB RAM 512GB SSD NVIDIA RTX A2000 FHD+
- BOMBA áron eladó új Microsoft Surface Laptop 4 garanciával! AMD Ryzen 5 /16GB 512 SSD/TOUCH/13.5"/
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
- HIBÁTLAN iPhone 12 Mini 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3644, 100% Akksi
- iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3660
- Bomba ár! HP ProBook 450 G8 - i3-1115G4 I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- BESZÁMÍTÁS! ASUS H510M i3 10105F 16GB DDR4 256GB SSD 1TB HDD GTX 1660 SUPER 6GB Zalman T4 Plus 450W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

