Hirdetés
- Apple Watch Sport - ez is csak egy okosóra
- Telekom mobilszolgáltatások
- Google Pixel topik
- Nem engedi el a 128 GB-ot a Google
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- IDC: 2025-ben a Huawei megnyerte Kínát, az Apple a világot
- Yettel topik
- Vivo X300 - kicsiben jobban megéri
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
Ú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?:))
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Apple Watch Sport - ez is csak egy okosóra
- Milyen légtisztítót vegyek?
- Apple MacBook
- Brogyi: CTEK akkumulátor töltő és másolatai
- Telekom mobilszolgáltatások
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- PlayStation 5
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Most tényleg 8 GB VRAM-mal szúrja ki szemünk az NVIDIA??
- További aktív témák...
- ThinkPad P17 Gen1 17.3" FHD IPS i7-10850H RTX 3000 32GB 1TB NVMe ujjlolv IR kam új akku gar
- Lenovo ThinkPad T14 - i5-10310u
- AMD Ryzen 5 7500F - Új, 3 év garancia - Eladó!
- P16 Gen1 16" QHD+ IPS i7-12850HX RTX A2000 32GB 1TB NVMe ujjlolv IR kam gar
- ThinkPad P15 Gen1 15.6" FHD IPS i7-10750H T1000 32GB 512GB NVMe ujjlolv gar
- Xiaomi Redmi Note 9 Pro 64GB,Uj, Dobozaval,12 hónap garanciával
- Eladó egy Huawei GT3 okos óra Dobozzal tőltővel
- Apple iPhone 16 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4041, 100% Akksi
- Tablet felvásárlás!! Samsung Galaxy Tab A8, Samsung Galaxy Tab A9, Samsung Galaxy Tab S6 Lite
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


