j'ai pu créer environ 11 JButton dans un cercle en utilisant ce code ......Désactivation DButton après le premier clic
public class Beginner extends JPanel {
private JButton quest;
public Beginner() {
int n = 10; //no of JButtons
int radius = 200;
Point center = new Point (250, 250);
double angle = Math.toRadians(360/n);
List <Point> points = new ArrayList<Point>();
points.add(center);
for (int i = 0; i < n; i++) {
double theta = i * angle;
int dx = (int) (radius * Math.sin(theta));
int dy = (int) (radius * Math.cos(theta));
Point p = new Point (center.x + dx , center.y + dy);
points.add(p);
}
draw (points);
}
public void draw (List<Point> points) {
JPanel panels = new JPanel();
SpringLayout spring = new SpringLayout();
int count = 1;
for (Point point: points) {
quest = new JButton("Question " + count); //JButton is drawn about 10 times in a circle arragement
quest.setForeground(Color.BLUE);
Font fonte = new Font("Script MT Bold", Font.PLAIN, 20);
quest.setFont(fonte);
add (quest);
count++;
;
spring.putConstraint(SpringLayout.WEST, quest, point.x, SpringLayout.WEST, panels);
spring.putConstraint(SpringLayout.NORTH, quest, point.y, SpringLayout.NORTH, panels);
setLayout(spring);
panels.setOpaque(false);
panels.setVisible(true);
panels.setLocation(10, 10);
add(panels);
}
}
}
Maintenant, je dois créer un actionListener pour chaque JButton, et il est chaque bouton devrait être actif seulement pour un clic, après quoi il change sa couleur en vert !, je n'ai aucune idée sur la façon de le faire! Merci de votre aide!
Copie possible de [Désactiver le bouton sur click befor actionPerformed est concurrencé java] (http://stackoverflow.com/questions/17807846/disable-button-on-click-befor-actionperformed-is-competed-java) –