JAVA编程问题~~小弟刚入门,是菜鸟~
制作一个文本文件阅读器,文件菜单设置打开和退出命令,可以打开本地磁盘上文本文件,并将文件内容显示到文本框中,文本框不能编辑,退出命令能够退出程序
制作一个文本文件阅读器,文件菜单设置打开和退出命令,可以打开本地磁盘上文本文件,并将文件内容显示到文本框中,文本框不能编辑,退出命令能够退出程序
答案:回答你这道问题时,我也学到不少知识,是刚开始学习java Swing
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.*;
public class 易做图Notepad {
static final int WIDTH=700;
static final int HEIGHT=400;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final JFrame frame=new JFrame("记事本");
Toolkit kit =Toolkit.getDefaultToolkit();
Dimension dimension=kit.getScreenSize();
int width=dimension.width;
int height=dimension.height;
int x=(width-WIDTH)/2;
int y=(height-HEIGHT)/2;
frame.setLocation(x, y);
frame.setSize(WIDTH, HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar=new JMenuBar();
frame.setJMenuBar(menuBar);
JMenu menu=new JMenu("文件(&H)");
JMenuItem item1=new JMenuItem("打开(&O)");
JMenuItem item2=new JMenuItem("退出(&E)");
menuBar.add(menu);
menu.add(item1);
menu.addSeparator();
menu.add(item2);
JPanel panel=new JPanel();
frame.setContentPane(panel);
panel.setLayout(new BorderLayout());
final JTextArea textArea=new JTextArea();
textArea.setFont(new Font("宋体", 12, 16));
panel.add(textArea);
final JFileChooser fileChooser=new JFileChooser();
item2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
item1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
FileInputStream fileInputStream=null;
File file=null;
int result;
fileChooser.setApproveButtonText("确定");
fileChooser.setDialogTitle("打开文件");
result=fileChooser.showOpenDialog(frame);
textArea.setText("");
if(result==JFileChooser.APPROVE_OPTION)
{
file=fileChooser.getSelectedFile();
}
else if(result==JFileChooser.CANCEL_OPTION)
{
JOptionPane.showMessageDialog(null, "你没有选择任何文件");
}
if (file!=null)
{
try {
fileInputStream=new FileInputStream(file);
} catch (FileNotFoundException e2) {
// TODO: handle exception
JOptionPane.showMessageDialog(null, "文件找不到");
return;
}
int readbyte;
try {
while ((readbyte=fileInputStream.read())!=-1) {
String string=String.valueOf((char)readbyte);
String strvalue=new String(string.getBytes("ISO-8859-1"), "gb2312");
textArea.append(strvalue);
}
} catch (IOException e2) {
// TODO: handle exception
JOptionPane.showMessageDialog(null, "文件读取错误");
}
finally
{
try {
if(fileInputStream!=null)
fileInputStream.close();
} catch (IOException e3) {
// TODO: handle exception
e3.printStackTrace();
}
}
}
}
});
frame.setVisible(true);
}
}问老师
上一个:作业,用java编写一个记事本程序,谁会啊
下一个:急救!!!!Java实现中文转Unicode码....???不用转换器哈,