Hirdetés
- Honnan kapták a nevüket? Ethernet, Pentium, Intel és a „bug” sztori
- A napi Windows-hiba? Teljes adatvesztés Bitlockerrel
- Olyan lesz a Térkép, mint a segítőkész haver az anyósülésen
- Alaposan kitolhatod az Steam Deck üzemidejét egy új funkcióval
- Lassú lett a PC? Micsoda meglepetés: egy Windows frissítés lehet a ludas
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Pánikban a világ a Radeon RX 5000 és 6000 sorozat támogatása miatt
- Kormányok / autós szimulátorok topikja
- KODI (ex-XBMC) Android alapokon, Androidos media-boxok
- A napi Windows-hiba? Teljes adatvesztés Bitlockerrel
- Melyik tápegységet vegyem?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Apple MacBook
- Milyen egeret válasszak?
Ú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?:))
- Milyen légkondit a lakásba?
- Battlefield 6
- Windows 11
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Szeged és környéke adok-veszek-beszélgetek
- ASUS routerek
- Kuponkunyeráló
- Pánikban a világ a Radeon RX 5000 és 6000 sorozat támogatása miatt
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- BESZÁMÍTÁS! Asrock B450M R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB THERMALTAKE VERSA H17 600W
- Azonnali készpénzes nVidia RTX 4000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- GYÖNYÖRŰ iPhone 12 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3395, 100% Akkumulátor
- Minis Forum Mini PC MS-A2 Ryzen 9955HX 16GB 1000GB 1 év garanciával
- ÚJ BONTATLAN Apple Macbook Air 15,3 M4 10C CPU/10C GPU/16GB/256GB - Égkék - HUN - mc7a4mg/a 3 év gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


