2012-10-22 64 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