Basit Bir Click Sayacı Oyunu Yaptım Bazı Sorularım Var

Click sayma oyunu yaptım basitçe :smiley: 30 saniye var ve 30 saniye içinde ne kadar tıklarsan. ama programda bazı sorunlar var bunları nasıl çözeceğimi bilemedim o yüzden size soruyorum.

Program bu:

  1. sorun saniyeyi nasıl azaltacağım(kodları verecem)
  2. Sorun ise: Resimde gözükmedi ama click yazan yerde "click"in çevresinde bir dikdörtgen var. Onu nasıl kaldırırım.
  3. Sorun : Butona tıkladığımda renk değişecek ve geri eski haline nasıl döner.
package Proje;

import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.util.concurrent.TimeUnit;

import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class clickcalculator {
	
	public static void main(String[]args) {
		Font fontcuk = new Font("Arial",Font.BOLD,35);
		Font but = new Font("Arial",Font.BOLD,25);
		Font sec = new Font("Arial",Font.BOLD,15);
		
		JFrame win = new JFrame("Click Calculator");
		win.setSize(400,600);
		win.setVisible(true);
		win.setLayout(null); 
		win.getContentPane().setBackground(new Color(13, 11,12));
		
		JLabel second = new JLabel("30");
		second.setBounds(5,5,25,25);
		second.setFont(sec);
		second.setForeground(Color.LIGHT_GRAY);
		
		
		JLabel click = new JLabel("0");
		click.setBounds(185,0,200,200);
		click.setFont(fontcuk);
		
		JButton b = new JButton("Click");
		b.setBounds(0,200,390,380);	
		b.setBackground(new Color(38, 38, 38));
		b.setFont(but);
		b.setForeground(Color.LIGHT_GRAY);
		b.setBorderPainted(false);
		
		
		b.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {	
				int x = Integer.parseInt(click.getText());
				x++;
				click.setText(Integer.toString(x));
				int y = Integer.parseInt(second.getText());

				
			}
			
			
			 
			 
		});
		
			
		
		win.add(click);
		win.add(b);
		win.add(second);	
	
	}
	
}
  1. sorunda saniyeyi nasıl azaltacağımı sormuştum hatırlarsanız ve saniye azaltma kodu bu kodlar arasında nereye yazmam gerekiyor.(çünkü internetten bakıp denediğimde butona da uyguluyodu bu 1 saniye bekletme işini)

Şimdiden cevaplayan herkese teşekkürler :smiley:

  1. soru algoritma sorusu. Yapmanız gereken bir Thread tanımlamak ve her saniyede bir 30 değerine sahip olan bir değişkeni azaltmak. 0 olunca gerekli işlemleri yapmak. Çok basit bir örnek
public class Sayac{
    static int sayi = 30;
    
    static void sayici(){
        try{
            while(sayi>=0){
                sayi--;
                Thread.sleep(1000);
            }
            // Bir takım işlemler
        }catch(Exception e){}
    }
    
    public static void main(String[] args) {
        new Thread(Test::sayici).start(); // sayacı başlattık
    }
}
  1. ve 3. soruları kısa bir internet aramasıyla bulabilirsiniz. İyi forumlar.
1 Beğeni

şu iki sorunun tam net açıklamasını yapabilir misin?

Ekranda var olan bir buton var biz mi görmüyoruz yoksa yeni mi ekleyeceksin?