Skip navigation.
University » Corsi precedenti (it) » IGEA » 2006-07 » 28/03/07 » Soluzione

Pulsantiera.java


import java.awt.*;
import javax.swing.*;
import java.util.Scanner;
 
public class Pulsantiera {
 
  public static void main(String[] args) {
 
    Scanner lettore = new Scanner(System.in);
    System.out.print("Numero di bottoni da inserire: ");
    int n = lettore.nextInt();
 
    JFrame finestra = new JFrame("Pulsantiera");
    Container lastraContenuti = finestra.getContentPane();
    //Ora creo un nuovo oggetto di tipo GridLayout e lo passo alla lastra dei contenuti,
    //senza memorizzarne il riferimento in alcuna variabile:
    lastraContenuti.setLayout(new GridLayout(n, 1));    
 
    JButton[] bottoni = new JButton[n];
 
    for(int i=0; i<n; i++) {
      JButton b = new JButton();
      lastraContenuti.add(b);
      bottoni[i] = b;
    }    
 
    finestra.pack();
    finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    finestra.setVisible(true);    
 
    System.out.print("Vuoi cambiare qualche etichetta? (S/N): ");
    String cambiare = lettore.next();
    while(cambiare.equals("S") || cambiare.equals("s")) {
 
      for(int i=0; i<n; i++) {
        System.out.print("Etichetta del bottone numero " + (i+1) + ": ");
        bottoni[i].setText(lettore.next());
        finestra.pack();
      }
 
      System.out.print("Vuoi cambiare di nuovo qualche etichetta? (S/N): ");
      cambiare = lettore.next();
 
    }
 
 
  }
 
}