Java에서 매우 간단한 클릭 카운터를 만들고 싶습니다. 작동하지만 Click Me 버튼을 클릭 할 때마다 클릭 수가 재설정됩니다. 클릭 수라는 정적 변수를 사용하여이 문제를 해결하려고했습니다. 나는 이것이 바보 같은 질문처럼 들리 겠지만 어떻게 실제로 변수가 자신을 다시 설정하는 것을 막는 지 알아 본다.클릭을 중지 할 때마다 자바 클릭 카운터가 재설정됩니다.
여기에 제가 작성한 코드가 있습니다.
package clickcounter;
import java.awt.BorderLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ClickCounter extends JFrame implements MouseListener{
private JButton b1 = new JButton("Click me");
private static int clicks;
private JLabel info = new JLabel();
public ClickCounter()
{
super("Click counter");
setSize(250, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b1.addMouseListener(this);
BorderLayout bor = new BorderLayout();
setLayout(bor);
info.setEnabled(false);
add(BorderLayout.NORTH, b1);
add(BorderLayout.CENTER, info);
setVisible(true);
}
public static void main(String[] args) {
ClickCounter cc = new ClickCounter();
}
@Override
public void mouseClicked(MouseEvent e) {
clicks = e.getClickCount();
info.setText("Number of clicks " + clicks);
info.repaint();
}
@Override
public void mousePressed(MouseEvent e) {
// ignore
}
@Override
public void mouseReleased(MouseEvent e) {
//ignore
}
@Override
public void mouseEntered(MouseEvent e) {
// ignore
}
@Override
public void mouseExited(MouseEvent e) {
// ignore
}
}
브릴리언트. 고마워. – mutantkeyboard