0

“首先,为每个 JMenuItem 对象添加 ActionListener。例如,当您从菜单中选择“Square”时,附加到“Square”菜单项的 ActionListener 必须创建您的“Square”类的实例。这些 ActionListener 将在 MyFrame 类的构造函数中添加为代码。”

有人可以指导我如何做到这一点吗?

一旦选择了正方形,我需要使用我的 Jslider 来了解正方形的面积,(假设 jslider 值是正方形的一侧)

4

1 回答 1

2

看起来这看起来像是家庭作业,我不会给你细节,而只是一个指南......

按照您的说明,您首先需要创建一个类,并按照http://docs.oracle.com/javase/6/docs/api/javaimplements ActionListener上的文档中的描述实现“actionPerformed()”方法/awt/event/ActionListener.html

然后你被指示这应该检测点击了什么,然后创建适当的Object. 所以,根据你的问题的 Square 指令,你的actionPerformed()方法会做这样的事情......

JMenuItem clickedMenu = (JMenuItem)e.getSource();
if (clickedMenu.getText().equals("Square")){
    Square square = new Square();
}

您需要if-else为不同的菜单项添加额外的语句。

最后,它说你需要将ActionListeners 添加到你的MyFrame类中,所以它应该是这样的......

JMenuItem menuItem = new JMenuItem("Square");
menuItem.addActionListener(new MyActionListener());

只需一次按照您的说明进行操作即可。如果您在任何时候遇到困难,请尝试参考 Java API 文档,或在 StackOverflow 上搜索帮助。

于 2012-10-22T01:22:37.720 回答