热门搜索:

 

类别:编程问题 - Java/J# (浏览 307 次)
java程序在我电脑上运行出问题但在其它电脑上运行却没问题,请高手解决。 分数:90
mashengxuucom (老马)    会员级别:

   package 第12题;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class NotePad extends JFrame implements ActionListener{
  private JMenuItem fileNew = new JMenuItem("新建(N)     Ctrl+N");
  private JMenuItem fileOpen = new JMenuItem("打开(O)     Ctrl+O");
  private JMenuItem fileSave = new JMenuItem("保存(S)    Ctrl+S");
  private JMenuItem fileSave_As = new JMenuItem("另存为(A)");
  private JMenuItem filePage_Setup = new JMenuItem("页面设置(U)");
  private JMenuItem filePrint = new JMenuItem("打印(P)    Ctrl+P");
  private JMenuItem fileExit= new JMenuItem("退出(X)");
  private JMenuItem editRevocation = new JMenuItem("撤销(U)     Ctrl+Z");
  private JMenuItem editShear = new JMenuItem("剪切(T)     Ctrl+X");
  private JMenuItem editCopy = new JMenuItem("复制(C)    Ctrl+C");
  private JMenuItem editPaste = new JMenuItem("粘贴(P)    Ctrl+P");
  private JMenuItem editDelete = new JMenuItem("删除(Del)     Del");
  private JMenuItem editFind = new JMenuItem("查找(F)     Ctrl+F");
  private JMenuItem editFind_Next = new JMenuItem("查找下一个(N)     F3");
  private JMenuItem editReplacement = new JMenuItem("替换(R)    Ctrl+H");
  private JMenuItem editGo = new JMenuItem("转到(G)     Ctrl+G");
  private JMenuItem editSelet = new JMenuItem("全选(A)     Ctrl+A");
  private JMenuItem editTime_Date = new JMenuItem("时间/日期(D)     F5");
  private JMenuItem formatWrap = new JMenuItem("自动换行(W)");
  private JMenuItem formatFonts = new JMenuItem("字体(F)");
  private JMenuItem viewStatus_Bar = new JMenuItem("状态栏(S)");
  private JMenuItem helpHelp_Topics = new JMenuItem("帮助主题(H)");
  private JMenuItem helpAbout = new JMenuItem("关于记事本(A)");
  private TextArea ta= new TextArea(10,20);
  public NotePad(){
    super("记事本");
    JMenu file = new JMenu("文件(F)");
    JMenu edit = new JMenu("编辑(E)");
    JMenu format = new JMenu("格式(O)");
    JMenu view = new JMenu("查看(V)");
    JMenu help = new JMenu("帮助(H)");
    file.add(fileNew);file.add(fileOpen);file.add(fileSave);file.add(fileSave_As);
    file.add(filePage_Setup);file.add(filePrint);file.add(fileExit);
    edit.add(editRevocation);edit.add(editShear);edit.add(editCopy);
    edit.add(editPaste);edit.add(editDelete);edit.add(editFind);edit.add(editFind_Next);
    edit.add(editReplacement);edit.add(editGo);edit.add(editSelet);edit.add(editTime_Date);
    format.add(formatWrap);format.add(formatFonts);
    view.add(viewStatus_Bar);    
    help.add(helpHelp_Topics);help.add(helpAbout);
    add(ta);
    JMenuBar bar = new JMenuBar();
    bar.add(file);
    bar.add(edit);
    bar.add(format);
    bar.add(view);
    bar.add(help);
    setJMenuBar(bar);
    fileExit.addActionListener(this);
    fileOpen.addActionListener(this);
    pack();
    setSize(400,400);    
    setVisible(true);
    this.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent we){
        System.exit(0);
      }
    });
  }
  public void readFile(String file){
    ta.setText("");
    try{
      BufferedReader in = new BufferedReader(new FileReader(file));
      String line;
      while ((line = in.readLine())!= null)
        ta.append(line + "\n");
      in.close();
      ta.setCaretPosition(0);
    }catch(IOException ioe){
      System.err.println(ioe);
    }
  }
  public static void main(String[] args){
    NotePad np = new NotePad();
  }
  public void actionPerformed(ActionEvent ae){
    if(ae.getSource() == fileExit)
      System.exit(0);
    else if(ae.getSource() == fileOpen){
    
      FileDialog fd = new FileDialog(this,"请选择要打开的文件",FileDialog.LOAD);
    fd.setVisible(true);
    if(fd.getFile() != null){
      File file = new File(fd.getDirectory() + fd.getFile());
      if(file.exists())
        readFile(file.toString());
      else
        ta.setText("File name: " + file + " invalid.");
    }
    fd.dispose();
  }
  
  }
}
这个程序在我电脑商运行菜单栏的下拉菜单打不开呀,在其它电脑上却能呀,我把add(ta);注释掉后就能打开的,这是怎么回事啊,请指点指点!

收藏到天天网摘 | 天极网摘 发表:2009/12/18 20:11:00

专家推荐


老温
[编程专家]
本人致力于DELPHI编程5年,对于DE...

游戏文章

回答排行

1 老温
2 深山红叶
3 姚立勤
4 罗成
5 李家大少爷