Bild in einem JScrollPane anzeigen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hallo,
ich hab das problem ja schonmal angesprochen und wollte es jetzt nochmal in einem eigenen thema posten weil es echt wichtig ist...
ich will ein bild in einer jscrollpane anzeigen, falls es mal größer als das fenster ist. sollte ja eigentlich nicht so schwer sein. ich mach das folgendermaßen:
Code:
//im konstruktor: 
this.setContentPane(getJContentPane()); 

//in der methode getJContentPane, hier ohne jscrollpane, bild wird angezeigt: 
private Container getJContentPane() { 
         if (this.c == null) { //c ist vom Typ Container    
            c = this.getContentPane(); 
            this.b = new Bild(); 
            c.add(this.b);    
         } 
         return c; 
} 

//und mit scrollpane dachte ich geht das ganze so, leider wird dann kein bild mehr angezeigt: 
private Container getJContentPane() { 
         if (this.c == null) {    
            c = this.getContentPane(); 
            this.jscrollpane = new JScrollPane(); 
            c.add(this.jscrollpane); 
            this.b = new Bild(); 
                         c.add(this.jscrollpane);    
         } 
         return c; 
   }
wie gesagt, sobald ich eine jscrollpane einbaue, wird das bild nicht mehr angezeigt, als wenn die pane das bild überzeichnet.
beni meinte ich soll es mal so probieren:
Code:
 if (this.c == null) {    
            c = this.getContentPane(); 
            this.b = new Bild(); 
            this.jscrollpane = new JScrollPane( this.b );  // man muss dem JScrollPane auch was zum anzeigen geben. 
            c.add(this.jscrollpane); 

            c.add(this.jscrollpane);    
         } 
         return c; 
   }
dann wird zwar das bild angezeigt, aber keine scrollbalken...
 
B

Beni

Gast
Ich hab da noch ein Beispiel, vielleicht hilft dir das noch weiter (ist nicht 100% dasselbe, aber macht was ähnliches).

Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;

public class Main {
	public static void main (String args[]) {
		Image img = createImage();
		Bild bild = new Bild( img );
		JScrollPane scroll = new JScrollPane( bild );
		
		JFrame frame = new JFrame();
		frame.getContentPane().add( scroll );
		frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		frame.setBounds( 100, 100, 200, 200 );
		frame.setVisible( true );
	}
	
	private static Image createImage(){
		BufferedImage img = new BufferedImage( 600, 600, BufferedImage.TYPE_INT_RGB );
		Graphics g = img.createGraphics();
		
		g.setColor( Color.RED );
		g.fillOval( 0, 0, 400, 400 );
		
		g.setColor( Color.GREEN );
		g.fillOval( 200, 0, 400, 400 );
		
		g.setColor( Color.BLUE );
		g.fillOval( 0, 200, 400, 400 );
		
		g.setColor( Color.LIGHT_GRAY );
		g.fillOval( 200, 200, 400, 400 );
		
		g.dispose();
		return img;
	}
}

public class Bild extends JComponent{
	private Image img;
	public Bild( Image img ){
		this.img = img;
		
		int w = img.getWidth( this );
		int h = img.getHeight( this );
		
		setPreferredSize( new Dimension( w, h ) );
	}
	
	protected void paintComponent( Graphics g ) {
		g.drawImage( img, 0, 0, this );
	}
}
 
G

Guest

Gast
ich glaub ich habs...
es ist wichtig dass getpreferedsize die gleiche größe wie das bild selber hat.... dann werden auch scrollbalken gesetzt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
T AWT Farben in einem Bild ändern AWT, Swing, JavaFX & SWT 8
B Kontrast in einem Bild erzeugen AWT, Swing, JavaFX & SWT 37
R Bewglichen Rahmen über einem Bild AWT, Swing, JavaFX & SWT 3
M Auf einem Bild eine Markierung aufziehen AWT, Swing, JavaFX & SWT 3
B Position in einem Bild ermitteln AWT, Swing, JavaFX & SWT 3
borobudur Bestimmte Zone auf einem Bild definieren AWT, Swing, JavaFX & SWT 7
F Verschieben einer Messnadel auf einem Bild AWT, Swing, JavaFX & SWT 2
K Farbe eines Pixels in einem Bild AWT, Swing, JavaFX & SWT 7
G Markierungen in einem Bild AWT, Swing, JavaFX & SWT 25
G Bild und Buttons in einem Frame AWT, Swing, JavaFX & SWT 6
F JWindow mit einem Bild und Transparenz AWT, Swing, JavaFX & SWT 4
D Bild einem Panel zuordnen AWT, Swing, JavaFX & SWT 2
H auf einem Bild malen AWT, Swing, JavaFX & SWT 4
V Ein JPEG-Bild in einem Label automatisch anpassen AWT, Swing, JavaFX & SWT 6
M Ein Bild aus einem Panel drucken? AWT, Swing, JavaFX & SWT 11
P auf einem geladenen Bild zeichnen AWT, Swing, JavaFX & SWT 28
E bild in einem label aktualisieren? AWT, Swing, JavaFX & SWT 2
C Bild in einem Vorschaufenster anzeigen lassen AWT, Swing, JavaFX & SWT 4
M JavaFX Mandelbrot-bild noch nicht optimiert AWT, Swing, JavaFX & SWT 7
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
frager2345 Bild aus Dateien lesen und als Hintergrund verwenden AWT, Swing, JavaFX & SWT 2
T Bild in ein graphics füllen AWT, Swing, JavaFX & SWT 2
N imageIcon zeigt kein Bild an AWT, Swing, JavaFX & SWT 5
B Bild lädt nicht AWT, Swing, JavaFX & SWT 2
izoards Bild ausdrucken - PageFormat setzen geht nicht AWT, Swing, JavaFX & SWT 5
M Bild wird nicht geladen obwohl sie gefunden wird AWT, Swing, JavaFX & SWT 0
V JavaFX Bild leer und keine Fehlermeldung AWT, Swing, JavaFX & SWT 21
D JavaFX Bearbeitetes Bild wird nicht gespeichert AWT, Swing, JavaFX & SWT 9
D JavaFX Größe des Bild an ImageView anpassen AWT, Swing, JavaFX & SWT 3
M Bewegtes Bild im BorderLayout.CENTER AWT, Swing, JavaFX & SWT 6
C Falschfarbenbild (lineare Grauwertspreizung)aus Grauwert-Bild erstellen AWT, Swing, JavaFX & SWT 15
C Kleineres Bild an bestimmte Koordinaten setzen AWT, Swing, JavaFX & SWT 6
S Bild neu skalieren - Bild in Bild speichern? AWT, Swing, JavaFX & SWT 6
N Bild Drehen AWT, Swing, JavaFX & SWT 1
Hatsi09 Swing JPanel Bild einfügen AWT, Swing, JavaFX & SWT 14
J Bild von anderer Klasse will nicht laden AWT, Swing, JavaFX & SWT 1
T JFrame Bild einfügen AWT, Swing, JavaFX & SWT 9
M Combobox bild anklicken AWT, Swing, JavaFX & SWT 2
cool_brivk24 Swing ImageIcon lädt kein Bild AWT, Swing, JavaFX & SWT 12
L Bild nicht in der Mitte AWT, Swing, JavaFX & SWT 16
B JavaFX Bild um die eigene Achse drehen lassen AWT, Swing, JavaFX & SWT 0
J Swing Bild in Button AWT, Swing, JavaFX & SWT 11
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
T Image Loader lädt Bild nicht AWT, Swing, JavaFX & SWT 10
P Kein Bild wird angezeigt bei ImageIcon AWT, Swing, JavaFX & SWT 16
T JavaFX Bild in Tabellenzelle AWT, Swing, JavaFX & SWT 2
Ksanatos Swing Bild (.jpg) einlesen und per Button wechseln AWT, Swing, JavaFX & SWT 9
S JPanel rotieren, Bild ist abgeschnitten, Clipping? AWT, Swing, JavaFX & SWT 0
MaxG. Swing Bild Button AWT, Swing, JavaFX & SWT 7
P Swing Bild Skallieren AWT, Swing, JavaFX & SWT 1
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
A Swing Bild wird nicht mehr geladen AWT, Swing, JavaFX & SWT 4
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
R 2D-Grafik PNG Bild per Graphics auf JPanel AWT, Swing, JavaFX & SWT 9
S Bild mit ImageIcon auf GUI verkleinern AWT, Swing, JavaFX & SWT 3
I JFrame Bild strecken und auf Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 2
F Gezeichnetes als bild speichern AWT, Swing, JavaFX & SWT 4
B 2D-Grafik Bild farblich filtern AWT, Swing, JavaFX & SWT 2
B JavaFX ImageView neues Bild zuweisen AWT, Swing, JavaFX & SWT 19
A 2D-Grafik Bild wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 24
K Bild in JFrame AWT, Swing, JavaFX & SWT 2
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
B Swing Unterteiltes JFrame mit Bild in der Mitte AWT, Swing, JavaFX & SWT 4
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
Z Bildervorschau, MouseDragged das Bild verschieben AWT, Swing, JavaFX & SWT 1
M JavaFX Ein Bild ohne Rahmen fällt runter? AWT, Swing, JavaFX & SWT 2
G Anonyme Instanz von JXImageView erstellen und mit Bild initialisieren AWT, Swing, JavaFX & SWT 7
A JPanel Bild laden (Porblem mit Dateipfad) AWT, Swing, JavaFX & SWT 2
M JavaFX - Bild in Jar einbinden, sodass es auch außerhalb der IDE geladen wird. AWT, Swing, JavaFX & SWT 2
M Bild Beschreibung mit ImageIO speichern AWT, Swing, JavaFX & SWT 1
M "ImageIO.read()" liest Bild nicht richtig ein AWT, Swing, JavaFX & SWT 3
I Swing JLabel Bild für 1sec anzeigen lassen AWT, Swing, JavaFX & SWT 13
K Bild in Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
C GUI öfters durchlaufen und hinterher Bild speichern AWT, Swing, JavaFX & SWT 1
M AWT Farben in Bild ersetzen AWT, Swing, JavaFX & SWT 11
E JavaFX Bild einfügen AWT, Swing, JavaFX & SWT 6
G paintComponents zerstückelt Bild AWT, Swing, JavaFX & SWT 0
C 2D Grafik ein Bild soll permanent durchlaufen AWT, Swing, JavaFX & SWT 2
1 Textfield: jede Buchstabe ein Bild AWT, Swing, JavaFX & SWT 2
C Bild Koordinaten AWT, Swing, JavaFX & SWT 6
M Bild aus JLabel resizen und speichern AWT, Swing, JavaFX & SWT 0
M Bild in JPanel mit Maus einfügen AWT, Swing, JavaFX & SWT 0
B JPanel und png-Bild AWT, Swing, JavaFX & SWT 2
B Swing Bild von Webseite herunterladen, diese dann in JList anzeigen. AWT, Swing, JavaFX & SWT 1
O 2D-Grafik Bild abgeschnitten nach Rotation mit Affine Transform und Hintergrund Schwarz AWT, Swing, JavaFX & SWT 8
A Swing Malprogramm Bild speichern? AWT, Swing, JavaFX & SWT 9
U Bild innerhalb hatml code anzeigen AWT, Swing, JavaFX & SWT 5
Y JavaFX Bild speichern und Pfad dazu abspeichern AWT, Swing, JavaFX & SWT 2
S Geladenes Bild wird nicht in JPanel angezeigt AWT, Swing, JavaFX & SWT 7
L 2D-Grafik Bild in Richtung Maus drehen AWT, Swing, JavaFX & SWT 18
C Bild in JFrame AWT, Swing, JavaFX & SWT 8
T AWT Bild laden und transparent zeichnen AWT, Swing, JavaFX & SWT 2
I SWT Bilder, bzw. ein einzelnes Bild AWT, Swing, JavaFX & SWT 6
L JavaFX: Bild in Image einlesen AWT, Swing, JavaFX & SWT 11
T Mit getSubimage ruckelt das Bild AWT, Swing, JavaFX & SWT 7
T Bild drehen ohne Resize AWT, Swing, JavaFX & SWT 3
A Bild in JLabel skalieren AWT, Swing, JavaFX & SWT 4
A Bild über Imageviewer auf GUI anzeigen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben