Java Random JFrame

di il
1 risposte

Java Random JFrame

Salve sto cercando di creare un form, con un button, che all'evento click dentro una JLabel mi appia un numero, e ad ogni click cambi il numero, con il metodo Random.
grazie

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;

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



class poker extends JFrame implements ActionListener{
poker(){
	JFrame f = new JFrame();
	JPanel p = new JPanel();
	JLabel l = new JLabel();
	JButton b = new JButton("Game");
	b.addActionListener(this);
	f.setSize(400,200);
	f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	f.setVisible(true);
	f.add(p);
	p.add(l);
	p.add(b);
}
public void actionPerformed(ActionEvent e) {
public void mouseClicked(MouseEvent e){
	int n = (int)(Math.random()*10);
}
}
	private void Clicked(ActionEvent e) {
	// TODO Auto-generated method stub
		int n = (int)(Math.random()*10);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
poker p = new poker();
	}
	

	

}




1 Risposte

  • Re: Java Random JFrame

    19Java76 ha scritto:


    Salve sto cercando di creare un form, con un button, che all'evento click dentro una JLabel mi appia un numero, e ad ogni click cambi il numero, con il metodo Random.
    Il codice è un po' "pasticciato", perché hai messo il metodo mouseClicked DENTRO actionPerformed. E' un errore, ovviamente.

    Togli quel mouseClicked (dentro actionPerformed) e togli quel Clicked private.
    Lascia solo il

    public void actionPerformed(ActionEvent e) { .... }

    dentro ci metti la estrazione del numero (è corretta, estrae tra 0 e 9 inclusi) e poi fai un setText sul JLabel. Chiaramente devi creare una stringa a partire dal int, ci sono diversi modi.
    Tutto lì.
Devi accedere o registrarti per scrivere nel forum
1 risposte