2014-01-24 2 views
0

나는 내가 쓰고있는 Java 클래스에 대해 두 개의 버튼이있는 프로그램을 작성했습니다. 이제 각 버튼이 클릭 수를 세고 표시해야합니다. 그러나이 작업을 수행하는 방법은 수업에서 다루지 않았습니다. 제발이 일을 도와주세요. 나는 클릭 수를 계산할 수있는 몇 가지 코드를 가지고 있지만 그것이 틀렸다는 것을 확신하고 있습니다.자바의 버튼 클릭 수를 계산하는 방법

도움이 될 매우 감사하겠습니다. 정말 고맙습니다!

도움을 주셔서 대단히 감사합니다. 나는 조금 더 성취 할 수 있었지만 여전히 오류를 수집하고있다. 가장 최근의 것은 "식별자가 예상 됨"입니다. 나는이 프로그램을위한 클래스가 실제로 좋지 않기 때문에 이것을 고치는 법을 모른다. 다시 한 번 도움을 주셔서 감사합니다.

 int buttonClicked = 0; 
     objButton1.addActionListener(new ActionListener() { 

     public void actionPerformed(ActionEvent e) 
     { 
      buttonClicked++; 
      System.out.println(buttonClicked); 
     } 
    });  

당신은 objButton1을 대체 할 수

import java.awt.*; 
import java.awt.event.*; 
public class FinalProj1 extends Frame implements ActionListener,WindowListener 
{ 
FinalProj1() 
{ 
    setTitle("Click Counter"); 
    setSize(400,400); 
    show(); 
} 
public static void main(String args[]) 
{ 
    Frame objFrame; 
    Button objButton1; 
    Button objButton2; 
    TextField count = new TextField(20); 
    TextField count2 = new TextField(20); 
    Label objLabel; 
    Label objLabel2; 

    objFrame= new FinalProj1(); 
    objButton1= new Button("Agree"); 
    objButton2= new Button("Dissagree"); 
    objLabel= new Label(); 
    objLabel2= new Label(); 
    objLabel2.setText("Mexican Food Is Better Than Chineese Food"); 

    objButton1.setBounds(110,175,75,75); 
    objButton2.setBounds(190,175,75,75); 
    objLabel2.setBounds(80,95, 250,25); 

    objFrame.add(objButton2); 
    objFrame.add(objButton1); 
    objFrame.add(objLabel2); 
    objFrame.add(objLabel); 
} 
private int numClicks = 0; 
    private int numClicks2 = 0; 
    objButton1.addActionListener(this) 
    objButton2.addActionListener(this) 
    public void actionPerformed(ActionEvent e) 
    { 
     numClicks++; 
     numClicks2++; 
     count.setText("There are " + numClicks + " who agree"); 
     count2.setText("There are " + numClicks2 + " who dissagree"); 
    } 
} 
+0

테스트했을 때 어떤 오류가 나타 났습니까? – Alfabravo

+2

버튼에 리스너를 추가하고 리스너를 수정해야합니다. println() 호출은 메소드에 있어야합니다. – boskop

+0

[Action Listener 사용 방법] (http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html) 및 [How to 버튼 사용] (http://docs.oracle.com/javase/tutorial/uiswing/components/button.html)을 참조하십시오. 다음 질문은 왜 AWT를 사용하고 있는가? – MadProgrammer

답변

2

그냥 당신이 적절하다 싶은 중 버튼의 마우스 리스너

button.addMouseListener(new MouseAdapter() { 
    public void mouseClicked(MouseEvent evtent) { 

    // use evtent.getClickCount() 
    } 
}); 
1

를 추가 : 여기

내 업데이트 된 코드입니다 당신이 알맞은 어떤 버튼이든. 버튼은 액션 리스너와 연결되어 있어야하며 클릭했을 때 결과를 콘솔에 보내서 print 문을 안에 추가해야합니다.

+1

하나의 가능한 해결책을 보여주기위한 크레딧을 줄 것입니다. (각각은 정확합니다.) 그러나 예제는 컴파일되지 않을 것입니다. – MadProgrammer

관련 문제