Der Mann mit Wein
Grünschnabel
Hallo ich bin Momentan dabei mir in Java ein Programm zu schreiben welches mir alle Bilder in einem Ordner laden soll, und sie mir dann skaliert anzeigt.
Momentan kann mein programm jedoch nur ein Bild laden und skaliert anzeigen.
Ich habe jetzt etwas gegooglet und mich etwas "gespielt" aber leider keine funktionierende Lösung gefunden. Ich hoffe ihr könnt mir helfen
Momentan kann mein programm jedoch nur ein Bild laden und skaliert anzeigen.
Ich habe jetzt etwas gegooglet und mich etwas "gespielt" aber leider keine funktionierende Lösung gefunden. Ich hoffe ihr könnt mir helfen
Code:
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
public class ImageViewer extends Frame implements ActionListener{
private ViewComponent viewComponent = new ViewComponent();
public ImageViewer(){
super( "Bildbetrachter" );
MenuBar mbar = new MenuBar();
Menu menu = new Menu( "Datei" );
MenuItem item = new MenuItem( "Öffnen" );
MenuItem item1 = new MenuItem( "close" );
item.addActionListener( this );
item1.addActionListener( this );
menu.add( item );
menu.add( item1 );
mbar.add( menu );
setMenuBar( mbar );
add( viewComponent );
setSize( 600, 400 );
}
public void actionPerformed( ActionEvent e ){
String s1 = e.getActionCommand();
if(s1 == "Öffnen"){
JFileChooser d = new JFileChooser();
d.setFileFilter( new FileFilter(){
public boolean accept(File f)
{
return f.isDirectory() || f.getName().toLowerCase().endsWith(".jpg")
|| f.getName().toLowerCase().endsWith(".gif");
}
public String getDescription()
{
return "*.jpg;*.gif";
}
} );
d.showOpenDialog( null );
File file = d.getSelectedFile();
viewComponent.setImage( file );
}
else if(s1 == "close"){
System.exit(0);
}
}
public static void main( String args[] ){
new ImageViewer().setVisible( true );
}
}
class ViewComponent extends JComponent{
private Image image;
protected void paintComponent( Graphics g ){
if ( image != null )
g.drawImage( image, 0, 0,500,500, this );
}
public void setImage( File file ){
image = Toolkit.getDefaultToolkit().getImage( file.getAbsolutePath() );
if ( image != null )
repaint();
}
}