Any ideas as to why this doesn't work for me? I can select a file but
it doesn't display anything.
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
Public class ImageViewer extends JFrame implements ActionListener {
public ImageViewer() {
setTitle("ImageViewer");
setSize(400, 600);
JMenuBar mbar = new JMenuBar();
JMenu m = new JMenu("File");
openItem = new JMenuItem("Open");
openItem.addActionListener(this);
m.add(openItem);
exitItem = new JMenuItem("Exit");
exitItem.addActionListener(this);
m.add(exitItem);
mbar.add(m);
setJMenuBar(mbar);
label = new JLabel();
Container contentPane = getContentPane();
contentPane.add(label, "Center");
label.setText("What the hell");
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == openItem) {
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".gif")
|| f.isDirectory();
}
public String getDescription() {
return "GIF Images";
}
});
int r = chooser.showOpenDialog(this);
if (r == JFileChooser.APPROVE_OPTION) {
String name = chooser.getSelectedFile().getName();
label.setIcon(new ImageIcon(name));
}
} else if (source == exitItem)
System.exit(0);
}
public static void main(String[] args) {
JFrame frame = new ImageViewer();
frame.show();
}
private JLabel label;
private JMenuItem openItem;
private JMenuItem exitItem;
}
Oliver said:
[post re-ordered]
Barkster said:
Thanks, I've seen that but wasn't sure how to size the files. I'll
take another look
Actually, you might not be able to directly resize the image via that
class. I wasn't aware that that was the main problem. You might want to look
at these classes:
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/AffineTransformOp.html
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/geom/AffineTransform.html
- Oliver