2012-10-22 62 views
0

“首先,增加的ActionListeners到每个JMenuItem的对象。对于 例如,当您选择‘从菜单坊’,贴在‘广场’菜单项的ActionListener 必须创建你的 'Square'类的一个实例,这些ActionListeners将作为你的MyFrame类的 构造函数中的代码添加。的java的ActionListeners咨询需要,Jmenuitems

难道有人请走过我如何做到这一点?

一旦方选择我需要,然后用我的JSlider的一些是如何工作的正方形的面积,(考虑到JSlider的值是正方形的一边)

回答

2

看到,因为虽然这看起来像功课,我不会给你具体的,但只是一个指导...

通过您的指示,您首先需要创建一个类implements ActionListener,并实现'actionPerformed()'方法在http://docs.oracle.com/javase/6/docs/api/java/awt/event/ActionListener.html

的文档然后你被告知这应该解除ct点击了什么,然后创建相应的Object。所以,按照你的问题的广场指令,你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()); 

它只是一个通过您的指示,1件在下面的事一次。如果您遇到任何问题,请尝试参阅Java API文档,或者在StackOverflow上查找帮助。

+0

我明白,但我如何链接Square square = new Square();去广场上课?那么滑块值到Sqaure类?包分配; /** * * 作者b00560806 */ 公共类ASquare MyShape的延伸{ @覆盖 公共双computeBoundaryLength(双倍长度) { thelength =(4 *长度); return thelength; } 覆盖 public double computeArea(double Length) thearea =(Length * Length); 返回该区域; } } – john

+0

Java教程提供了有关如何使用JSlider的指南:http://docs.oracle.com/javase/tutorial/uiswing/components/slider.html StackOverflow无法真正为您提供一个步骤,一步一步地了解如何做好整个事情(为你做作业?)。这是题外话:http://stackoverflow.com/help/on-topic您至少需要自己的尝试,我们可以帮助您解决问题。 – Radiodef