- iPhone topik
- Google Pixel topik
- OnePlus 15 - van plusz energia
- Rövid teaserrel erősítette meg a Google a Pixel 10a érkezését
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy A54 - türelemjáték
- Xiaomi 15 - kicsi telefon nagy energiával
- VoLTE/VoWiFi
- Okosóra és okoskiegészítő topik
Ú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?:))
- Feltörték a regisztrációmat vagy elvesztettem a belépési emailcímet, 2FA-t
- Robotporszívók
- Mibe tegyem a megtakarításaimat?
- Micro Four Thirds
- Amazon Prime Video
- iPhone topik
- Elbaltázott tankolás miatt csúszik a NASA Holdutazása
- Google Pixel topik
- Vírusirtó topic
- Elégedetlen lenne az NVIDIA AI gyorsítóinak tempójával az OpenAI?
- További aktív témák...
- Eladó QNAP TS-264-8G 2-Bay NAS (2x 2,5GbE LAN, 2x 2 x M.2 slot, 1x PCIe slot)
- E14 Gen5 14" FHD+ IPS Ryzen 5 7530U 16GB 256GB NVMe magyar bill ujjolv IR kam gar
- X1 Carbon 9th 14" FHD+ IPS i7-1165G7 16GB 256GB NVMe ujjolv IR kam gar
- Thinkpad T14 Gen3 14" FHD+ IPS i5-1235U 16GB 256GB NVMe IR kam gar
- Ryzen 5 4600G + ASUS alaplap egyben
- Workstation bazár - Lenovo, HP, Dell - számla, 6 hó garancia
- 195 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070
- HIBÁTLAN iPhone 12 Pro 256GB Graphite-1 ÉV GARANCIA - Kártyafüggetlen, MS4518, 100% Akksi
- Minden szoftver mellé teljesen audit és NIS2 biztos, jogilag hiteles licencigazolást adunk át!
- Bomba ár! Dell Latitude E5540 - i5-4GEN I 8GB I 500GB I 15,6" FHD I Cam I W10 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


