import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;public class ImageViewer extends JFrame
implements ActionListener
{ public ImageViewer()
{ setTitle("打开文件");
setSize(300, 400); 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");
} 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(".txt")
|| f.isDirectory();
}
public String getDescription()
{ return "TXT Files";
}
}); 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;
}
我想打开.txt文件,编译没错误,但不能完成功能,我认为问题在这if(r == JFileChooser.APPROVE_OPTION)
{ String name
= chooser.getSelectedFile().getName();
label.setIcon(new ImageIcon(name));
请您帮我改一下或给我一个例子
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;public class ImageViewer extends JFrame
implements ActionListener
{ public ImageViewer()
{ setTitle("打开文件");
setSize(300, 400); 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");
} 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(".txt")
|| f.isDirectory();
}
public String getDescription()
{ return "TXT Files";
}
}); 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;
}
我想打开.txt文件,编译没错误,但不能完成功能,我认为问题在这if(r == JFileChooser.APPROVE_OPTION)
{ String name
= chooser.getSelectedFile().getName();
label.setIcon(new ImageIcon(name));
请您帮我改一下或给我一个例子
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货