高手帮我看下我程序的问题,OK了,在追加50分!

想做一个可以打开文件,然后可以对文件进行编辑。但是编译老是错误。另外,编辑功能还没有完成。/***@(#)File.java***@author*@version1.00... 想做一个可以打开文件,然后可以对文件进行编辑。但是编译老是错误。
另外,编辑功能还没有完成。

/**
* @(#)File.java
*
*
* @author
* @version 1.00 2008/4/15
*/
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class FileBJ extends JFrame implements ActionListener {

JFrame kj=new JFrame("007");
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("文件");
JMenuItem openItem = new JMenuItem("打开");
JMenuItem saveItem = new JMenuItem("保存");
JMenuItem exitItem = new JMenuItem("退出");
JPanel p=new JPanel();

public FileBJ() {
setSize(500,500);

fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(exitItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
openItem.addActionListener(this);
saveItem.addActionListener(this);
exitItem.addActionListener(this);

setVisible(true);
/*java.awt.EventQueue.invokeLater(new Runnable(){
public void run(){
new NewJFrame().setVisible(true);
}
});*/
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
} );
}

public void actionPerformed(ActionEvent e){
Object eventSource=e.getSource();

if(eventSource==openItem){
try{
FileDialog file=new FileDialog(kj,"new",FileDialog.LOAD);
kj.setVisible(true);
String path=file.getFile();

FileInputStream fin=new FileInputStream(path);
//FileOutputStream fout=new FileOutputStream(path);
//int d;
StringBuffer ss=new StringBuffer();
byte buffer[]=new byte[512];
try{

while(fin.read(buffer)!=-1){
ss.append(buffer);
} }catch(IOException eb){}
fin.close();
//fout.close();
}catch(FileNotFoundException ek){}

} else if(eventSource==exitItem) {
System.exit(0);
}
}
public static void main(String[] grgs){

FileBJ c=new FileBJ();
c.setVisible(true);

}
}
展开
 我来答
zltpc007
推荐于2016-05-27 · TA获得超过420个赞
知道小有建树答主
回答量:446
采纳率:0%
帮助的人:334万
展开全部
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Toolkit;
public class FileIO extends WindowAdapter implements ActionListener
{
JFrame jf;
JButton jb,jb1;
JTextArea ta;
String filename,copy,paste,cut;
JPanel jp;
JMenu jmb,jmb2;
JMenuItem _fm,_fm1,_fm2,_fm3,_fm4,_fe1,_fe2,_fe3,_fe4;
JMenuBar JMENU;
JScrollPane jsp;
JLabel jl;

public static void main (String[] argv) {
new FileIO();
}

public FileIO()
{
jp = new JPanel();
jl = new JLabel("李鸿记事本V1.0");
JMENU = new JMenuBar();
ta = new JTextArea();
jf = new JFrame();
jsp = new JScrollPane(ta);
jf.addWindowListener(this);
jmb = new JMenu("文件");
jmb2 = new JMenu("编辑");
_fm1 = new JMenuItem("打开");
_fm1.addActionListener(this);
_fm2 = new JMenuItem("储存");
_fm2.addActionListener(this);
_fm4 = new JMenuItem("另存为");
_fm4.addActionListener(this);
_fm3 = new JMenuItem("关闭");
_fm3.addActionListener(this);
_fm = new JMenuItem("新建");
_fm.addActionListener(this);

_fe1 = new JMenuItem("复制");
_fe1.addActionListener(this);
_fe2 = new JMenuItem("粘贴");
_fe2.addActionListener(this);
_fe3 = new JMenuItem("剪切");
_fe3.addActionListener(this);
_fe4 = new JMenuItem("作者");
_fe4.addActionListener(this);
jf.setJMenuBar(JMENU);
jf.setTitle("记事本");

jmb.add(_fm);
jmb.addSeparator();
jmb.add(_fm1);
jmb.addSeparator();
jmb.add(_fm2);
jmb.addSeparator();
jmb.add(_fm4);
jmb.addSeparator();
jmb.add(_fm3);
jmb2.add(_fe1);
jmb2.addSeparator();
jmb2.add(_fe2);
jmb2.addSeparator();
jmb2.add(_fe3);
jmb2.addSeparator();
jmb2.add(_fe4);

JMENU.add(jmb);
JMENU.add(jmb2);

jb = new JButton("保存");
jb.addActionListener(this);
jb1 = new JButton("关闭");
jb1.addActionListener(this);
jp.add(jb);
jp.add(jb1);
jp.add(jl);
jf.add(jp,"South");
ta.setWrapStyleWord(true);
jf.add(jsp);
jf.setSize(600,400);
jf.setVisible(true);
int W = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int H = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
jf.setLocation((W-jf.getWidth())/2,(H-jf.getHeight())/2);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb||e.getSource()==_fm2){
try{
if(filename==null)
{
filename = JOptionPane.showInputDialog("请输入文件名","java");
FileOutputStream fout = new FileOutputStream(filename+".txt");
byte bb[] = ta.getText().getBytes();
fout.write(bb);
fout.close();
JOptionPane.showMessageDialog(null,"已保存");
}else
{
FileOutputStream fout = new FileOutputStream(filename+".txt");
byte bb[] = ta.getText().getBytes();
fout.write(bb);
fout.close();
JOptionPane.showMessageDialog(null,"已保存");
}
}catch(IOException ioe)
{
System.err.println(e);
}
}
if(e.getSource()==_fm)
{
if(!(ta.getText().equals(""))){
Object[] options = {"确定","取消"};
int response = JOptionPane.showOptionDialog(null,"你是否保存","提 示",JOptionPane.YES_OPTION,
JOptionPane.QUESTION_MESSAGE,null,options,options[0]);
if(response==0)
{try{
FileDialog d = new FileDialog(jf,"保存文件",FileDialog.SAVE);
d.setVisible(true);
filename = d.getDirectory()+d.getFile();
FileOutputStream fout = new FileOutputStream(filename+".txt");
byte bb[] = ta.getText().getBytes();
fout.write(bb);
fout.close();
JOptionPane.showMessageDialog(null,"已保存");
ta.setText("");
}catch(IOException ioe)
{
System.err.println(e);
}
}
if(response==1)
{JOptionPane.showMessageDialog(null,"你选择了取消");
ta.setText("");
}
}}
if(e.getSource()==_fm1){
FileDialog d = new FileDialog(jf,"打开文件",FileDialog.LOAD);
d.setVisible(true);
File f = null;
f = new File(d.getDirectory()+d.getFile());
for(int i=0;i<=f.length();i++)
{char [] ch = new char[i];
try{
FileReader fr = new FileReader(f);
fr.read(ch);
String str = new String(ch);
ta.setText(str);

}catch(FileNotFoundException fe){

}catch(IOException ie){
}
}
}
if(e.getSource()==_fm4)
{
FileDialog d = new FileDialog(jf,"另存为",FileDialog.SAVE);
d.setVisible(true);
try{
filename = d.getDirectory()+d.getFile();
FileOutputStream fout = new FileOutputStream(filename+".txt");
byte bb[] = ta.getText().getBytes();
fout.write(bb);
fout.close();
}catch(IOException ioe)
{
System.err.println(e);
}
}
if(e.getSource()==_fm3||e.getSource()==jb1)
{System.exit(0);}
if(e.getSource()==_fe1)
{
copy = ta.getSelectedText();
}
if(e.getSource()==_fe2)
{
ta.setText(copy);
}
if(e.getSource()==_fe3)
{
copy = ta.getSelectedText();
ta.setText("");
}
if(e.getSource()==_fe4)
{
JOptionPane.showMessageDialog(jf,"Notepad");
}
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
中智咨询
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。... 点击进入详情页
本回答由中智咨询提供
joker_chang
2008-05-19 · TA获得超过217个赞
知道小有建树答主
回答量:363
采纳率:0%
帮助的人:289万
展开全部
如果仅仅是编译错误的话,你用try...catch将“fin.close(); ”包起来就好了。因为这个语句有抛出IO异常,必须被捕获。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式