“首先,为每个 JMenuItem 对象添加 ActionListener。例如,当您从菜单中选择“Square”时,附加到“Square”菜单项的 ActionListener 必须创建您的“Square”类的实例。这些 ActionListener 将在 MyFrame 类的构造函数中添加为代码。”
有人可以指导我如何做到这一点吗?
一旦选择了正方形,我需要使用我的 Jslider 来了解正方形的面积,(假设 jslider 值是正方形的一侧)
“首先,为每个 JMenuItem 对象添加 ActionListener。例如,当您从菜单中选择“Square”时,附加到“Square”菜单项的 ActionListener 必须创建您的“Square”类的实例。这些 ActionListener 将在 MyFrame 类的构造函数中添加为代码。”
有人可以指导我如何做到这一点吗?
一旦选择了正方形,我需要使用我的 Jslider 来了解正方形的面积,(假设 jslider 值是正方形的一侧)
看起来这看起来像是家庭作业,我不会给你细节,而只是一个指南......
按照您的说明,您首先需要创建一个类,并按照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
为不同的菜单项添加额外的语句。
最后,它说你需要将ActionListener
s 添加到你的MyFrame
类中,所以它应该是这样的......
JMenuItem menuItem = new JMenuItem("Square");
menuItem.addActionListener(new MyActionListener());
只需一次按照您的说明进行操作即可。如果您在任何时候遇到困难,请尝试参考 Java API 文档,或在 StackOverflow 上搜索帮助。