import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class MyFrame1 extends JFrame implements ActionListener{
JMenuItem miOpen;
JMenuItem miExit;
JMenuItem miSave;
JTextArea ta;
MyFrame1() {
this.setSize(600,600);
this.setTitle("notepad");
this.setLocationRelativeTo(this);
Container c = this.getContentPane();
JMenuBar mb = new JMenuBar();
this.setJMenuBar(mb);
JMenu mFile = new JMenu("File");
mb.add(mFile);
miOpen = new JMenuItem("open");
miOpen.addActionListener(this);
mFile.add(miOpen);
mFile.addSeparator();
miSave = new JMenuItem("save");
miSave.addActionListener(this);
mFile.add(miSave);
mFile.addSeparator();
miExit = new JMenuItem("exit");
miExit.addActionListener(this);
mFile.add(miExit);
ta = new JTextArea();
JScrollPane sp = new JScrollPane(ta);
c.add(sp);
this.setVisible(true);
}
public static void main(String[] args) {
new MyFrame1(); } @Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==miOpen) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(this);
File f = chooser.getSelectedFile();
if (f==null)
return;
try {
FileReader fr = new FileReader(f);
System.out.print(fr.getEncoding());
BufferedReader br = new BufferedReader(fr);
String str = br.readLine();
while(str!= null) {
ta.append(str);
ta.append("\n");
str = br.readLine();
}
ta.append("中");
fr.close();
br.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
}else if (e.getSource()== miExit) {
System.exit(0);
}else if (e.getSource()== miSave) {
JFileChooser chooser = new JFileChooser();
chooser.showSaveDialog(this);
System.out.println(chooser.getDialogTitle());
System.out.println(chooser.getApproveButtonText());
}
}}open一个txt文件,中文显示是乱码,eclipse的环境已经设置成utf-8,操作系统是windows 7,不知道为什么中文是乱码。另外一台机器可以正常显示。
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class MyFrame1 extends JFrame implements ActionListener{
JMenuItem miOpen;
JMenuItem miExit;
JMenuItem miSave;
JTextArea ta;
MyFrame1() {
this.setSize(600,600);
this.setTitle("notepad");
this.setLocationRelativeTo(this);
Container c = this.getContentPane();
JMenuBar mb = new JMenuBar();
this.setJMenuBar(mb);
JMenu mFile = new JMenu("File");
mb.add(mFile);
miOpen = new JMenuItem("open");
miOpen.addActionListener(this);
mFile.add(miOpen);
mFile.addSeparator();
miSave = new JMenuItem("save");
miSave.addActionListener(this);
mFile.add(miSave);
mFile.addSeparator();
miExit = new JMenuItem("exit");
miExit.addActionListener(this);
mFile.add(miExit);
ta = new JTextArea();
JScrollPane sp = new JScrollPane(ta);
c.add(sp);
this.setVisible(true);
}
public static void main(String[] args) {
new MyFrame1(); } @Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==miOpen) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(this);
File f = chooser.getSelectedFile();
if (f==null)
return;
try {
FileReader fr = new FileReader(f);
System.out.print(fr.getEncoding());
BufferedReader br = new BufferedReader(fr);
String str = br.readLine();
while(str!= null) {
ta.append(str);
ta.append("\n");
str = br.readLine();
}
ta.append("中");
fr.close();
br.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
}else if (e.getSource()== miExit) {
System.exit(0);
}else if (e.getSource()== miSave) {
JFileChooser chooser = new JFileChooser();
chooser.showSaveDialog(this);
System.out.println(chooser.getDialogTitle());
System.out.println(chooser.getApproveButtonText());
}
}}open一个txt文件,中文显示是乱码,eclipse的环境已经设置成utf-8,操作系统是windows 7,不知道为什么中文是乱码。另外一台机器可以正常显示。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货