2012-04-22 2 views
4

버튼이있는 프로그램을 만들 때 정말 고민 중입니다. 버튼을 클릭하면 클래스가 작동하도록 호출됩니다. 나는 약 10 주간 Java만을 사용하고 있으며 기본을 얻었지만 여기서 내가하고 싶은 것을 이해할 수있는 곳을 찾지 못했습니다.마우스 버튼으로 클래스 이벤트 트리거

나는 또한

panel.addMouseListener(new MouseAdapter() { 
if (e.getButton()== MouseEvent.BUTTON1) { 
    Frame.class.getClass(circle); } 

나는 보통 개체 또는 유형의 방법 getClass()를 찾을 수없는 오류가 나는 그것을 시도 어느 쪽이든을 시도

public void mouseEntered(MouseEvent e) { 

       if (e.getButton()== MouseEvent.BUTTON3){ 
         Object triangle; 
         Frame.class.getClass(); 
       } 

      } 

을 시도 Object은 아니다 인수 ( JButton)에 적용됩니다.

누구든지 내가 뭘 잘못하고 있는지 알아 내려고 도와 줄 수 있습니까?

감사합니다.

+6

나는이 같은 문제를 가지고 있다면, 내가보고 싶은데 우선은 튜토리얼, 특히 [JButton의 튜토리얼] (HTTP 것 : // docs.oracle.com/javase/tutorial/uiswing/components/button.html). 확실히이 작업을 수행 했으므로 MouseListener를 전혀 사용하지 말고 JButton에 ActionListener를 추가해야합니다. –

+0

MouseEvent 대신 JButton ActionListener를 사용하는 방법도 있습니다. 나는 MouseEvent Listener에 갔었는데, 왜냐하면 친구가 그렇게하려고 노력했기 때문이었다. 리스너가 ActionListener {public void actionPerformed (ActionEvent e) {}를 구현하는 것과 비슷한 것을 사용할 수 있다는 것을 알고 있습니다. 그리고이 버튼을 클릭하면 어떤 일이 발생합니다. 나는 아직도 다른 파일에서 만든 클래스를 어떻게 동작하게하는지 모른다. – user1350056

+3

그런 다음 기본 OO 프로그래밍 책을 가져와야합니다. _do는 다른 파일에서 생성 한 클래스이므로 처음부터 기본 Java/OO 지식이 부족한 것처럼 들립니다. – Robin

답변

1
public class MainFrame extends JFrame { 

private JButton button = new JButton("Run AnotherClass"); 

MainFrame() { 
    super(); 
    this.setTitle("Demo App"); 
    this.setSize(200,200); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    this.setLayout(new FlowLayout()); 
    this.add(button); 
    button.addActionListener(new ButtonHandler()); 
} 

public class ButtonHandler implements ActionListener {  
    public void actionPerformed(ActionEvent e) { 
     new AnotherClass(); 
    } 
} 

public static void main(String[] args) { 
    new MainFrame().setVisible(true); 
} 

}

public class AnotherClass { 
public AnotherClass() {  
    JOptionPane.showMessageDialog(null, "AnotherClass is in operation"); 
} 

}

+0

문제가 해결 될 것입니다. – Manoj

관련 문제