FileChooser Bilder auswählen

MayYes

Mitglied
Einen schönen guten Abend,

hänge hier gerade bei einer Augabe fest und finde nirgendswo eine Lösung :(
Ich soll mit dem FileChooser ein Bild auswählen und dieses wird dann auf meinem Panel (BorderLayout Center) angezeigt. Nur wie sag ich dem FileChooser das er nur Bilder (jpeg) nehmen darf und er es auf meinem Panel anzeigt?
Hier mein Code:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.imageio.ImageIO;

public class Layout extends JFrame{
	
	private final static int width = 500;
	private final static int height = 400;
	
	public Layout(){
		super();
		setSize(width, height);
		addWindowListener(new WindowDestroyer( ));
		setTitle("Bilder aus Datei und aus dem WWW laden..");
		Container content = getContentPane( );
		
		content.setLayout(new BorderLayout( ));
		
		JPanel sout = new JPanel();
		sout.setLayout(new FlowLayout());
		content.add(sout, BorderLayout.SOUTH);
		JButton open = new JButton("Bild aus Datei laden");
		JButton url = new JButton("Bild aus URL laden");
		sout.add(open);
		sout.add(url);
	
		open.addActionListener(new open());
		url.addActionListener(new url());
		
		JPanel thumb = new JPanel();
		content.add(thumb, BorderLayout.WEST);
		
		JPanel big = new JPanel();
		content.add(big, BorderLayout.CENTER);
	}
	
	class open implements ActionListener{
		public void actionPerformed(ActionEvent e){
			JFileChooser chooser = new JFileChooser();
			chooser.showOpenDialog(Layout.this);
		}
	}
	
	class url implements ActionListener{
		public void actionPerformed(ActionEvent e){
			
		}
	}
}

Die anderen Sachen (Bild aus URL etc.) sind erstmal unwichtig. Freue mich über jede Hilfe.

LG MayYes
 

MayYes

Mitglied
ok, gut. Danke erstmal :)
Habs jetzt hinbekommen das nur Bilderdateien angezeigt werden. Krieg es aber beim besten Willen nicht hin, das sie auf meinem Label angezeigt werden :(
Was muss ich in diesem Befehl reinschreiben?
Java:
			if(chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
				???
			}

Vielen Dank für die Hilfe

LG MayYes
 

eRaaaa

Top Contributor
Öhh.. wahrscheinlich irgendwas in diese Richtung:
Java:
label.setIcon(new ImageIcon(chooser.getSelectedFile().getAbsolutePath()));

???:L
 

MayYes

Mitglied
Oh man, iwie hab ich echt keine Ahnung....
So sieht es bisher aus:
Java:
import javax.swing.*;
import javax.swing.filechooser.FileFilter;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.ImageFilter;
import java.io.File;

import javax.imageio.ImageIO;

public class Layout extends JFrame{
	
	private final static int width = 500;
	private final static int height = 400;
	
	public Layout(){
		super();
		setSize(width, height);
		addWindowListener(new WindowDestroyer( ));
		setTitle("Bilder aus Datei und aus dem WWW laden..");
		Container content = getContentPane( );
		
		content.setLayout(new BorderLayout( ));
		
		JPanel sout = new JPanel();
		sout.setLayout(new FlowLayout());
		content.add(sout, BorderLayout.SOUTH);
		JButton open = new JButton("Bild aus Datei laden");
		JButton url = new JButton("Bild aus URL laden");
		sout.add(open);
		sout.add(url);
	
		open.addActionListener(new open());
		url.addActionListener(new url());
		
		JPanel thumb = new JPanel();
		content.add(thumb, BorderLayout.WEST);
		
		JPanel big = new JPanel();
		content.add(big, BorderLayout.CENTER);
	}
	
	class open implements ActionListener{
		public void actionPerformed(ActionEvent e){
			Container content = getContentPane();
			JFileChooser chooser = new JFileChooser();
			chooser.setAcceptAllFileFilterUsed(false);
	
			chooser.setFileFilter(new FileFilter(){
				String description = "jpg Dateien";
				String extension = "jpg";
				
				public boolean accept(File f) {
					if(f == null) 
						return false;
					if(f.isDirectory())
						return true;
					return f.getName().toLowerCase().endsWith(extension);
				}

				public String getDescription() {
					return description;
				}
			});

			if(chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
				???
			}
		}
	}
	
	class url implements ActionListener{
		public void actionPerformed(ActionEvent e){
			
		}
	}
}

so richtig verstanden hab ich das nicht, was ich deinen Befehl dort:
Java:
			if(chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
				???
			}
einfüge.

LG MayYes
 

eRaaaa

Top Contributor
Oh man, iwie hab ich echt keine Ahnung....

ich auch nicht, denn

Krieg es aber beim besten Willen nicht hin, das sie auf meinem Label angezeigt werden :(

ich sehe in deinem Code keine Labels ?!

Dadurch dass du deine Variablen relativ gut benannt hast, könnte man erahnen dass du evtl. Panels meintest, anstelle von Label? Willst du im Panel
Code:
thumb
ein Thumbnail und in Panel
Code:
big
das Bild in Originalgröße anzeigen? Dann könnte man evtl. dennoch das Ganze mit Labels machen, sprich du addest in die Panels jeweils ein JLabel und rufst dann darauf setIcon auf(siehe mein Code), oder man malt es selbst, dann müsstest du die paintCOmponent-Methode der Panels überschreiben!
 

MayYes

Mitglied
:>
Ja, ich meinte Panels. Hast es schon richtig beschrieben. Thumb als Thumbnail und big als Original.
Und das liegt mein Problem, wie geht das? Alle Versuche waren bisher erfolglos.
 

eRaaaa

Top Contributor
Weil ich gerade eh aufs entpacken warten muss...;)

Java:
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

/**
 * Comment here
 * 
 * @author eRaaaa
 * @version 26.05.2010
 * @since
 */

public class ImageViewer {

	private JPanel panel, thumb, big;
	private Image image;
	private JLabel thumbImage = new JLabel(), bigImage = new JLabel();
	private JFrame frame;

	public ImageViewer() {
		frame = new JFrame();

		JButton btn = new JButton("Lade Bild");
		btn.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				JFileChooser chooser = new JFileChooser();
				if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
					try {
						image = ImageIO.read(chooser.getSelectedFile());
						bigImage.setIcon(new ImageIcon(image));
						thumbImage.setIcon(getThumbnail(image));
						frame.pack();
					} catch (IOException e1) {
						e1.printStackTrace();
					}
				}
			}
		});
		panel = new JPanel(new BorderLayout());
		thumb = new JPanel();
		thumb.add(thumbImage);
		big = new JPanel();
		big.add(bigImage);
		panel.add(thumb, BorderLayout.LINE_START);
		panel.add(btn, BorderLayout.PAGE_END);
		panel.add(big, BorderLayout.CENTER);
		frame.add(panel);
		frame.setSize(800, 800);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}

	protected Icon getThumbnail(Image image) {
		int newX = image.getWidth(null) / 2;
		int newY = image.getHeight(null) / 2;
		BufferedImage thumb = new BufferedImage(newX, newY, BufferedImage.TYPE_INT_RGB);
		Graphics g = thumb.createGraphics();
		g.drawImage(image, 0, 0, newX, newY, null);
		g.dispose();
		return new ImageIcon(thumb);

	}

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				new ImageViewer();
			}
		});
	}
}

sollte dir weiterhelfen... sonst --> :rtfm:
 

MayYes

Mitglied
Hey, super dank dir. Wäre doch nicht nötig gewesen. Damit lässt sich aufjedenfall was anfangen.
1000Dank und wünsche dir eine Gute Nacht.

LG MayYes
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Fehlermeldungen bei Cancel FileChooser AWT, Swing, JavaFX & SWT 7
Bluedaishi FileChooser.ExtensionFilter AWT, Swing, JavaFX & SWT 4
C FileChooser Save-Dialog zeigt Files nicht an AWT, Swing, JavaFX & SWT 3
GenerationLost JavaFX FileChooser speichern ohne Zieldatei? AWT, Swing, JavaFX & SWT 12
N Swing Filechooser zweifarbig machen AWT, Swing, JavaFX & SWT 33
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B FileChooser anpassen AWT, Swing, JavaFX & SWT 2
D Swing FileChooser mit einem neuen Rootordner AWT, Swing, JavaFX & SWT 6
X Bild via FileChooser in paint-Methode laden AWT, Swing, JavaFX & SWT 2
N FileWriter mit FileChooser AWT, Swing, JavaFX & SWT 3
D Swing JOptionPane + FileChooser .. Reihenfolge wichtig!? AWT, Swing, JavaFX & SWT 7
kodela FileChooser mit "absolutem" Root-Verzeichnis öffnen AWT, Swing, JavaFX & SWT 2
L Filechooser File Öffnen AWT, Swing, JavaFX & SWT 4
N FileChooser in View AWT, Swing, JavaFX & SWT 3
E Swing filechooser - nur Netzwerkpfade anzeigen lassen AWT, Swing, JavaFX & SWT 14
H FileChooser und Filter AWT, Swing, JavaFX & SWT 4
F Problem mit Mehrfachauswahl bei Filechooser AWT, Swing, JavaFX & SWT 2
G Fragen zum FileChooser AWT, Swing, JavaFX & SWT 5
G FileChooser Bild Speichern AWT, Swing, JavaFX & SWT 3
G FileChooser AWT, Swing, JavaFX & SWT 5
R filechooser soll sich das Verzeichnis merken AWT, Swing, JavaFX & SWT 2
K Bilddatei mit Filechooser auswählen und anzeigen/impotieren AWT, Swing, JavaFX & SWT 18
G FileChooser - Größe (Dimension) ändern AWT, Swing, JavaFX & SWT 2
V System Look and Feel, FileChooser, Optionen einer jar-Datei AWT, Swing, JavaFX & SWT 10
M bei filechooser.showSaveDialog(null); auf Datein. zugreifen AWT, Swing, JavaFX & SWT 2
U FileChooser Layout - Threads? AWT, Swing, JavaFX & SWT 17
D FileChooser der anderen Art. AWT, Swing, JavaFX & SWT 2
C falsche Pfadangabe bei FileChooser AWT, Swing, JavaFX & SWT 7
W Vorschau mit FileChooser: Ereignis bei Datei ausgewählt? AWT, Swing, JavaFX & SWT 4
H FileChooser AWT, Swing, JavaFX & SWT 5
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
F Bilder zu ausführbarer Jar-Datei hinzufügen AWT, Swing, JavaFX & SWT 5
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
M Swing Bilder in Swing anzeigen AWT, Swing, JavaFX & SWT 9
S AffineTranformation Bilder verschwinden von Anzeige bei Pan, Zoom AWT, Swing, JavaFX & SWT 6
G Bilder in javafx Project AWT, Swing, JavaFX & SWT 11
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Kirby.exe Bilder in GUI einfügen AWT, Swing, JavaFX & SWT 8
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
L Bilder werden in exportierter Datei nicht geladen AWT, Swing, JavaFX & SWT 6
C Bilder so einbinden, dass sie sich ändern AWT, Swing, JavaFX & SWT 6
J Bilder aus dem SceneBuilder werden in der Jar nicht dargestellt AWT, Swing, JavaFX & SWT 4
TheWhiteShadow JavaFX Bilder werden ungewollt Skaliert AWT, Swing, JavaFX & SWT 1
B JavaFX Bilder in einem Gewissen bereich halten AWT, Swing, JavaFX & SWT 1
J Bilder proportional verkleiner AWT, Swing, JavaFX & SWT 12
E Bilder skalieren AWT, Swing, JavaFX & SWT 4
DaCrazyJavaExpert Swing Bilder überlagern AWT, Swing, JavaFX & SWT 19
A Bilder als Hintergrund AWT, Swing, JavaFX & SWT 2
@SupressWarnings() JavaFX Bilder in executable jar laden AWT, Swing, JavaFX & SWT 5
Sugan JavaFX Bilder drucken AWT, Swing, JavaFX & SWT 0
K JPanel Bilder bei Windows nicht darstellbar AWT, Swing, JavaFX & SWT 6
Sugan Java FX Verzeichnisüberwachung -> Bilder auf GUI anzeigen AWT, Swing, JavaFX & SWT 4
E AWT Bilder als "Array" abspeichern. AWT, Swing, JavaFX & SWT 4
MrSnake Bilder aus Unterordner einfügen AWT, Swing, JavaFX & SWT 2
I 2D-Grafik Bilder Eingefügt, button jetzt im Hintergrund AWT, Swing, JavaFX & SWT 2
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
A Mit dem Scene Builder eine Collage erstellen (Bilder beziehen aus Flickr) AWT, Swing, JavaFX & SWT 1
thet1983 JTable Bilder AWT, Swing, JavaFX & SWT 6
GenerationLost Bilder an bestimmten Platz einfügen/Objekte visualisieren AWT, Swing, JavaFX & SWT 1
F Bilder in jFrame einfügen AWT, Swing, JavaFX & SWT 3
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
I Swing Bilder werden nach Export nicht angezeigt AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Bilder anzeigen AWT, Swing, JavaFX & SWT 4
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
vodkaz JFrame,Bilder und Zeitverzögerung AWT, Swing, JavaFX & SWT 2
A Swing Bilder werden nicht angezeigt AWT, Swing, JavaFX & SWT 3
I SWT Bilder, bzw. ein einzelnes Bild AWT, Swing, JavaFX & SWT 6
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
Xbody 2D-Grafik JavaFX Bilder transformieren AWT, Swing, JavaFX & SWT 2
C 2D-Grafik Steganographie - Verschlüsselung von Dateien in Bildern - Bilder zeigen schwarze Rechtecke AWT, Swing, JavaFX & SWT 13
P Durch Bilder Scrollen AWT, Swing, JavaFX & SWT 2
F Bilder werden nicht in's Array geladen AWT, Swing, JavaFX & SWT 4
K Bilder übereinanderlegen AWT, Swing, JavaFX & SWT 11
windl Querstreifen beim Bilder malen und anpassen an neue CPU AWT, Swing, JavaFX & SWT 12
V Fertige Komponente zum Anzeigen mehrerer Bilder AWT, Swing, JavaFX & SWT 5
Karuka 2D-Grafik Bilder in GridLayout einfügen AWT, Swing, JavaFX & SWT 7
J Bilder in ausführbare jar einbinden AWT, Swing, JavaFX & SWT 7
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
H 2D-Grafik Bilder laden ist nicht zuverlässig AWT, Swing, JavaFX & SWT 3
F Bilder ineinander kopieren AWT, Swing, JavaFX & SWT 3
P Bilder verkleinern AWT, Swing, JavaFX & SWT 2
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
Furtano AWT Skalierung mehrerer Bilder / Histogramme im Fenster AWT, Swing, JavaFX & SWT 4
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
C Zwei Bilder übereinander legen AWT, Swing, JavaFX & SWT 1
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
S Flickr Bilder in Gui Oberfläche AWT, Swing, JavaFX & SWT 21
L Bilder im JPanel als Hintergrund - Swing AWT, Swing, JavaFX & SWT 2
K Bilder nacheinander einfügen AWT, Swing, JavaFX & SWT 3
H Bilder auf Buttons per Klick tauschen ( Puzzle ) AWT, Swing, JavaFX & SWT 8
H Bilder in Array zufällig anordnen AWT, Swing, JavaFX & SWT 4
P 2D-Grafik Viele Bilder zu einem Video AWT, Swing, JavaFX & SWT 3
J Vergleicher zweier Bilder AWT, Swing, JavaFX & SWT 2
C zwei Bilder nacheinander anzeigen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben