java日志记录,并将该记录输出到自定义的窗口中(一)

class ImageViewerFrame extends JFrame {
 public ImageViewerFrame() {
  logger.entering("ImageViewerFrame", "<init>");
  setTitle("LoggingImageViewer");
  setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
  
  JMenuBar menuBar = new JMenuBar();
  setJMenuBar(menuBar);
  
  JMenu menuFile = new JMenu("File");
  menuBar.add(menuFile);
  
  JMenuItem openItem = new JMenuItem("Open");
  menuFile.add(openItem);
  openItem.addActionListener(new FileOpenListener());
  
  JMenuItem exitItem = new JMenuItem("Exit");
  menuFile.add(exitItem);
  exitItem.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent event) {
    logger.fine("Exiting.");
    System.exit(0);
   }
  });
  
  label = new JLabel();
  add(label);
  logger.exiting("ImageViewerFrame", "<init>");
 }
 
 private class FileOpenListener implements ActionListener {
  @Override
  public void actionPerformed(ActionEvent event) {
   logger.entering("ImageViewerFrame.FileOpenListener", "actionPerformed", event);
   
   JFileChooser chooser = new JFileChooser();
   chooser.setCurrentDirectory(new File("."));
   
   chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
    @Override
    public boolean accept(File f) {
     return f.getName().toLowerCase().endsWith(".gif") || f.isDirectory();
    }

    @Override
    public String getDescription() {
     return "GIF Images";
    }
   });
   
   int r = chooser.showOpenDialog(ImageViewerFrame.this);
   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.FileOpenListener", "actionPerformed");
  }
 }
 
 private JLabel label;
 private static Logger logger = Logger.getLogger("logger");
 private static final int DEFAULT_WIDTH = 300;
 private static final int DEFAULT_HEIGHT = 400;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值