package LoggingImageWindow; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.logging.Level; import java.util.logging.Logger; 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; import javax.swing.JPanel; import javax.swing.filechooser.FileFilter; public class ImageViewerFrame extends JFrame { /** * */ private static final long serialVersionUID = 1L; public ImageViewerFrame() { setLayout(new BorderLayout()); logger.entering("ImageViewerFrame", "<init>"); //Crearea menu JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu menu = new JMenu("File"); menuBar.add(menu); JMenuItem openItem = new JMenuItem("Open"); menu.add(openItem); openItem.addActionListener(new FileOpenListner()); JMenuItem exitItem = new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub logger.fine("Exiting."); System.exit(0); } }); //Pentru afisarea desenului se foloseshte un label label = new JLabel(); JPanel labelPanel = new JPanel(); add(labelPanel, BorderLayout.CENTER); labelPanel.add(label); logger.exiting("ImageViewerFrame", "<init>"); } private class FileOpenListner implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub logger.entering("ImageViewerFrame.FileOpenListner", "actionPerformed", e); //Crearea ferestrei pentru alegerea filului. JFileChooser chooser =new JFileChooser(); chooser.setCurrentDirectory(new File(".")); //Se citesc doar filurile cu extensia .gif chooser.setFileFilter(new FileFilter() { @Override public String getDescription() { // TODO Auto-generated method stub return "Gif Images"; } @Override public boolean accept(File arg0) { // TODO Auto-generated method stub return arg0.getName().toLowerCase().endsWith(".gif") || arg0.isDirectory(); } }); //Afisarea ferestrei de dialog pentru alegerea file int r = chooser.showOpenDialog(ImageViewerFrame.this); //Daca FIle este ales, alegem pictograma if( r == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile().getPath(); logger.log(Level.FINE, "Reading file(0)", name); label.setIcon(new ImageIcon(name)); } else { logger.fine("File open dialog canceled"); } logger.exiting("ImageViewerFrame.FileOpenListner", "actionPerformed"); } } private JLabel label; private static Logger logger = Logger.getLogger("com.cebotarenco.java"); }