2012-10-22 4 views
0

"첫째, 각각의 JMenuItem 객체에 ActionListener를 추가합니다. 예를 들어, 당신이 선택하면"메뉴에서 "광장, Jmenuitems을 조언이 필요 ActionListener를의 '광장'메뉴 항목에 부착 된 ActionListener 은 만들어야합니다 'Square'클래스의 인스턴스입니다. 이러한 ActionListener는 MyFrame 클래스의 생성자 내에 코드로 추가됩니다. "자바가

누군가가이 작업을 수행하는 방법을 안내해 줄 수 있습니까? 사각이 난 후,이 숙제처럼 보이는 것처럼 보는

답변

2

합니다 (JSlider에 값이 하나의 광장 쪽 주어진) 광장의 영역을 작동하는 방법을 몇 가지 내 JSlider에를 사용할 필요가 선택되면

자세한 내용을 알려주지는 않겠지 만 ...

안내에 따라 먼저 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 문을 추가해야합니다을 같은 것을 할 것입니다.

마지막으로, 그것은이 같은해야한다, 그래서 당신은 ... 당신의 MyFrame 클래스에 ActionListener의를 추가하도록 지시 한 조각을 통해 다음의

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

그것의 문제 만이 필요하다고 말한다 시간. 자바 API 문서를 참조하거나 StackOverflow에서 도움말을 검색하십시오.

+0

나는 그것을 이해하지만 어떻게 사각형 광장 = 새로운 광장(); 스퀘어 클래스에요? 슬라이더 값을 Sqaure 클래스에? 패키지 할당; /** * * 저작 b00560806 */ 공용 클래스 ASquare 연장은 myShape { @Override 공개 computeBoundaryLength 두 (더블 길이) { thelength = (4 * 길이); return thelength; } 오버라이드 공개 double computeArea (double length) { thearea = (Length * Length); 반환 thearea; } } – john

+0

Java 자습서에는 JSlider 사용 방법에 대한 가이드가 있습니다. http://docs.oracle.com/javase/tutorial/uiswing/components/slider.html StackOverflow는 실제로 사용자에게 단계별 작업을 제공 할 수 없습니다. 전체 과정을 수행하는 방법을 단계별로 안내합니다 (숙제하는 중입니까?). 그 주제는 벗어났습니다 : http://stackoverflow.com/help/on-topic 적어도 당신 만의 시도를 만들어야합니다. 문제를 해결하는 데 도움을 줄 수 있습니다. – Radiodef