黑马程序员技术交流社区
标题:
关于GUI练习上出现的小错误问题
[打印本页]
作者:
索学超
时间:
2012-5-10 13:53
标题:
关于GUI练习上出现的小错误问题
大家帮忙看看下面的代码有什么问题,为啥我运行的时候老出错了?
import java.awt.*;
import java.awt.event.*;
class MyMenuTest
{
private Frame f;
private MenuBar bar;
private Menu file;
private MenuItem closeItem,saveItem,openItem;
private FileDialog openDia,saveDia;
private TextArea ta;
MyMenuTest()
{
init();
}
private void init()
{
f = new Frame("my window");
f.setBounds(300,100,650,600);
bar = new MenuBar();
file = new Menu("File");
openItem = new MenuItem("Open");
saveItem = new MenuItem("Save");
closeItem = new MenuItem("Exit");
file.add(openItem);
file.add(saveItem);
file.add(closeItem);
bar.add(file);
f.setMenuBar(bar);
openDia = new FileDialog(f,"打开文件",FileDialog.LOAD);
saveDia = new FileDialog(f,"保存文件",FileDialog.SAVE);
ta = new TextArea();
f.add(ta);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
closeItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
openItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openDia.setVisible(true);
String dirPath = openDia.getDirectory();
String fileName = openDia.getFile();
System.out.println(dirPath+"..."+fileName);
if(dirPath == null || fileName == null)
return;
File file = new File(dirPath,fileName);
try
{
BufferedReader bufr = new BufferedReader(new FileReader(file));
String line = null;
while((line = bufr.readLine())!=null)
{
ta.append(line+"\r\n");
}
}
catch (IOException e)
{
throw new RuntimeException("读取失败!");
}
}
});
}
public static void main(String[] args)
{
new MyMenuTest();
}
}
作者:
黑马张立国
时间:
2012-5-10 14:03
catch (IOException e)
这个 e和你的注册监视器的e重命
把e改成别的就行
作者:
魏征
时间:
2012-5-10 14:08
有两处要改的 一个是导io包 还有一个就是把catch(IOException e)把e该一下名字,因为openItem建立监控时复写处理事件 public void actionPerformed(ActionEvent e)
用到了e重复了所以换一个其他的名就可以了,例如 catch(IOException ioe)
作者:
索学超
时间:
2012-5-11 08:43
谢谢楼上几位啊 ,问题解决了,一个是这个地方局部变量名重复了,还有一个就是 呵呵 不好意思 少导入一个java.io.*;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2