java代码问题求助,下面的代码是想要点击按钮后从本地选取文件,并将文件内容显示在文本区。大家帮忙看看

程序没有报错,到选择文件这步也正常,但就是不在文本区正常显示内容,不知错在哪了,麻烦各位帮忙看看,多谢!importjava.awt.*;importjava.awt.e... 程序没有报错,到选择文件这步也正常,但就是不在文本区正常显示内容,不知错在哪了,麻烦各位帮忙看看,多谢!
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.io.*;

@SuppressWarnings("serial")
public class p185_6 extends JFrame implements ActionListener{
JButton jb;
JTextArea jta;
JFileChooser jfc;
int result;

p185_6(){
setSize(200,200);
setTitle("显示文件");
jb=new JButton("选择要显示的文件");
jta=new JTextArea(50,50);

add(jb,BorderLayout.NORTH);
add(jta,BorderLayout.SOUTH);
jb.addActionListener(this);

jfc=new JFileChooser();
jfc.setControlButtonsAreShown(true);

pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

@SuppressWarnings({ "static-access", "hiding" })
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
File file=null;
if(e.getSource()==jb){
jfc.setDialogTitle("打开文件");
result=jfc.showOpenDialog(this);
jta.setText("");
if(result==jfc.APPROVE_OPTION) file=jfc.getSelectedFile();
else if(result==jfc.CANCEL_OPTION) jta.append("操作已撤销");
}
FileInputStream filestream=null;
if(file!=null){
try{
filestream=new FileInputStream(file);
}
catch(FileNotFoundException e1){System.out.println("文件未找到");}
catch(IOException e2){System.out.println("文件读写错");}
int readbyte;
try{
while((readbyte=filestream.read())!=-1)
{jta.append(""+String.valueOf((char)readbyte));}
filestream.close();
}
catch(FileNotFoundException e3){System.out.println("文件未找到");}
catch(IOException e4){System.out.println("文件读写错");}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new p185_6();
}
}
展开
 我来答
mzocean
2013-04-20 · TA获得超过1083个赞
知道小有建树答主
回答量:492
采纳率:33%
帮助的人:472万
展开全部
我编译时报了
p185_6.java:50: 警告: catch 子句无法访问
catch(IOException e2){System.out.println("文件读写错");}
改正后文件可以在页面内显示,就是位置有点问题。
可以把add(jta,BorderLayout.SOUTH);改成add(jta,BorderLayout.CENTER);
如果想使用滚动条,可以把JTextArea放在JScrollPane里,然后再放在JFrame中。
add(jta,BorderLayout.SOUTH);改成add(new JScrollPane(jta),BorderLayout.CENTER);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式