用java语言编写的弹出式菜单程序,帮我检查下哪里错了。

importjava.awt.*;importjava.awt.event.*;publicclassW8extendsFrameimplementsActionList... import java.awt.*;
import java.awt.event.*;
public class W8 extends Frame implements ActionListener, MouseListener {
TextArea msg=new TextArea();
PopupMenu pm=new PopupMenu();
MenuItem item1=new MenuItem("复制");
MenuItem item2=new MenuItem("剪切");
MenuItem item3=new MenuItem("粘贴");
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
msg.addMouseListener(this); // 注册文本区的鼠标事件监听器
show();
}
public void actionPerformed(ActionEvent e) {
msg.append("你选择了"+e.getActionCommand()+"\n");
}

public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) // 判断是否按下鼠标右键
pm.show(this, e.getX(), e.getY()); // 显示弹出式菜单
}

public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}

public static void main(String arg[]) {
new W8();
}
}
这个可以编译成功,不过可以稍微解释下吗?
为什么点退出没有响应?
展开
 我来答
0紫电清霜0
2009-06-10 · TA获得超过1418个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:0
展开全部
改成下面这样就满足你的要求了
你的程序没有构造函数
用构造函数将 组件初始化
然后 组件要添加进去
这样才能显示的
import java.awt.*;
import java.awt.event.*;

import javax.swing.JFrame;
public class W8 extends JFrame implements ActionListener, MouseListener

{
TextArea msg;
PopupMenu pm;
W8()
{
msg=new TextArea();
pm=new PopupMenu();
MenuItem item1=new MenuItem("复制");
MenuItem item2=new MenuItem("剪切");
MenuItem item3=new MenuItem("粘贴");

this.setSize(300,400);
pm.add(item1);
pm.add(item2);
pm.add(item3);
add(msg);
add(pm);

item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
msg.addMouseListener(this); // 注册文本区的鼠标事件监听器
show();
}
public void actionPerformed(ActionEvent e) {
msg.append("你选择了"+e.getActionCommand()+"\n");
}

public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) // 判断是否按下鼠标右键
pm.show(this, e.getX(), e.getY()); // 显示弹出式菜单
}

public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}

public static void main(String arg[]) {
new W8();
}
}
百度网友24e4c6f3b
2009-06-11 · TA获得超过177个赞
知道答主
回答量:326
采纳率:0%
帮助的人:139万
展开全部
msg.addMouseListener(this); // 注册文本区的鼠标事件监听器
show();
这段代码下面的括号括的是哪?在类括号内用ADD方法这怎么行,你有没有贴漏了代码?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rockhb
2009-06-10 · TA获得超过344个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:174万
展开全部
你都没有设置点x就退出。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式