Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- Jövő héten érkezik a Mate 80 széria
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 15 - kicsi telefon nagy energiával
- iPhone topik
- Apple Watch
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Nubia Neo 3 GT 5G - játéktelefon
- EarFun Air Pro 4+ – érdemi plusz
- Fotók, videók mobillal
Ú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?:))
- Xiaomi 12T 8/128GB Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Xiaomi Redmi Note 13 Pro+ 5G 12/512GB, Normél, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával
- Minőségi tápegységek,650-1400W-ig,számlával,garanciával,EVGA,HP,FSP,Cougar,Cooler Master,stb
- Bomba ár! HP EliteBook mt46 - Ryzen 3 4450U I 8GB I 256SSD I 14" FHD I Cam I W11 I Gari
- Bomba ár! HP Elitebook X360 1030 G2 - i7-8G I 16GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Gari!
- Bomba ár! HP EliteBook 830 G8 - i7-1185G7 I 16GB I 512SSD I HDMI I 13,3" FHD I Cam I W11 I Gari!
- Xiaomi Redmi Note 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 256 GB-100%-3 hó gari!
- Bomba ár! HP EliteBook 840 G7 - i7-10510U I 16GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Gari!
- Lenovo ThinkPad T14S Gen1 Intel i5-10310U Refurbished - Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


