Anpassung eines Bildes an Fenstergröße

andreas2000

Mitglied
Hallo,

ich würde gern ein image an die Fenstergröße anpassen (z.B. halbe Höhe, halbe Breite des fensters), dies sollte bei jeder Änderung der Fenstergröße (ist Resizable) angepaßt werden. Ich glaube das funktioniert mit repaint(), aber ich bräuchte ein Beispiel, weil es bei mir irgendwie nicht klappt.

Kann mir jemand helfen?

Danke,
Gruß, Andreas.
 
Hallo Andreas,

Habe mein letztes Beispiel ergänzt.

http://www.tutorials.de/forum/swing-awt-swt/238127-bild-fenstergroesse-anpassen.html

Je nach dem welches g.drawImage() du auskommentierst erhälst du entweder die volle oder die halbe größe des Fenster und die halbe größe nochmals zentriert im Fenster. Tutst du die Größe des Fenster ändern, ändert sich natürlich sofort auch die Größe des Bildes.

Code:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Imagepanel extends JPanel {

	Image pic = Toolkit.getDefaultToolkit().getImage("bild.gif");
	
	public static void main(String[] args) {
		Imagepanel ip = new Imagepanel();
		JFrame f = new JFrame();
		f.setSize(300,400);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.add(ip);
		f.setVisible(true);
	}

	public void paintComponent(Graphics g) {

		super.paintComponent(g);
		// Volle Größe
		//g.drawImage(pic, 0, 0, this.getWidth(), this.getHeight(),this);
		// Halbe Größe, Position links oben
		//g.drawImage(pic, 0, 0, this.getWidth() / 2, this.getHeight() / 2,this);
		// Halbe Größe, Position zentriert
		g.drawImage(pic, this.getWidth() / 4, this.getHeight() / 4 , this.getWidth() / 2, this.getHeight() / 2,this);
	}
}

Vg Erdal
 
Hallo halli,
habe mal in einem ähnlichen Zusammenhang eine Frage, wie ermittelt man eigetnlich die Originalgröße des Bildes? Also in diesem Fall von pic

Takidoso
 
Zurück