代码找错

liulingyun2008 2008-04-12 06:39:33
package day10;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;

public class MyNote implements ActionListener{
List<String> list;
List<String> undoList;
JFrame jf;
JMenuBar jmb;
JMenu jm;
JMenuItem jmi;
JPanel jp;
JTextArea jta;
public MyNote()
{
list=new ArrayList<String>();
undoList=new ArrayList<String>();
jf=new JFrame("MyNote");
jf.setSize(500,500);
jf.setLocation(300,300);
jmb=new JMenuBar();
jm=new JMenu("file");
jm.add(new JMenuItem("new"));
jm.add(new JMenuItem("open"));
jm.addSeparator();
jmi=new JMenuItem("save");
jmi.addActionListener(this);
jm.add(jmi);
jmi=new JMenuItem("save as");
jmi.addActionListener(this);
jm.add(jmi);
jm.addSeparator();
jm.add(new JMenuItem("exit"));
jmb.add(jm);

jm=new JMenu("edit");
jmi=new JMenuItem("copy");
jmi.addActionListener(this);
jm.add(jmi);
jmi=new JMenuItem("parse");
jmi.addActionListener(this);
jm.add(jmi);
jmi=new JMenuItem("cut");
jmi.addActionListener(this);
jm.add(jmi);
jm.addSeparator();
jmi=new JMenuItem("undo");
jmi.addActionListener(this);
jm.add(jmi);

jmi=new JMenuItem("redo");
jmi.addActionListener(this);
jm.add(jmi);

jmb.add(jm);
jm=new JMenu("help");
jmi=new JMenuItem("help");
jmi.addActionListener(this);
jm.add(jmi);
jmb.add(jm);

jf.setJMenuBar(jmb);
jta=new JTextArea();
jta.setLineWrap(true);
JScrollPane jsp=new JScrollPane(jta);
jf.add(jsp);

jf.setVisible(true);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MyNote();
}
public void actionPerformed(ActionEvent e) {
System.out.println(e.getActionCommand());
if(e.getActionCommand().equals("help"))
{
JDialog jd=new JDialog(jf,"liulingyun");
jd.setSize(250,250);
jd.setLocation(400,300);
jd.setVisible(true);
return;
}
else if(e.getActionCommand().equals("save"))
{
if(!jta.getText().equals(list.get(list.size())))
list.add(jta.getText());
return;
}else if(e.getActionCommand().equals("save as"))
{
if(!jta.getText().equals(list.get(list.size())))
list.add(jta.getText());
return;
}else if(e.getActionCommand().equals("undo"))
{
if(!list.isEmpty())
{
undoList.add(list.get(list.size()));
list.remove(list.size());
jta.setText(list.get(list.size()));
}
return;
}else if(e.getActionCommand().equals("redo"))
{
if(!undoList.isEmpty())
{
list.add(undoList.get(undoList.size()));
undoList.remove(undoList.size());
jta.setText(list.get(list.size()));
}
return;
}else if(e.getActionCommand().equals("paste"))
{
System.out.println("paste");
jta.paste();
return;
}else if(e.getActionCommand().equals("copy"))
{
System.out.println("copy");
jta.copy();
return;
}else if(e.getActionCommand().equals("cut"))
{
jta.cut();
return;
}
}
}

为什么选择paste菜单,并不能实现粘贴?
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanjun_xf 2008-04-16
  • 打赏
  • 举报
回复
前提是你没有在编译器的右键选择copy!
wzb1987 2008-04-16
  • 打赏
  • 举报
回复
如果你用的JCreator编译器的话,很明显,前提是你没有在编译器的右键选择copy!
ssqmnlin 2008-04-16
  • 打赏
  • 举报
回复
没写清楚

else if(e.getActionCommand().equals("parse"))
{
System.out.println("parse");
jta.paste();
return;
}

上面的MenuItem的Name定义 的是parse,而不是paste,而你的getActionCommand中的equals("paste")自然得不到响应
ssqmnlin 2008-04-16
  • 打赏
  • 举报
回复

else if(e.getActionCommand().equals("parse"))
{
System.out.println("parse");
jta.paste();
return;
}


1楼和2楼很明显,没有调过代码!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧