Buongiorno,
ho costruito un programma con interfaccia grafica GridLayout, per costruire una scacchiera: il mio intento è di partire dalla cella a sinistra, e spostarmi con le freccie direzionali sulla tastiera, per esempio vedere la casella selezionata invece di nera o bianca, verde.
Ho una mezza idea di come usare gli eventi da tastiera, però non ho idea se i JLabel possono essere selezionabili o quant'altro.
La domanda fondamentale è:
esiste una serie di metodi che riescono a farmela selezionare, oppure
devo scartare la GridLayout?
Grazie per la disponibilità
codice:import java.awt.Color; import java.awt.GridLayout; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLabel; public class Main extends JFrame { private final int height=10; private final int width=11; public Main () { setBounds (100,100,500,500); setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); setLayout (new GridLayout(height,width)); for (int i=0;i<(height*width);i++) { JLabel label=new JLabel (); if (i%2==0) label.setBackground(Color.black); else label.setBackground(Color.white); // label.setBorder(BorderFactory.createLineBorder(Color.RED)); label.setBorder(BorderFactory.createLineBorder(Color.RED,2)); label.setOpaque(true); this.add(label); } setVisible (true); } public static void main(String[] args) { new Main (); } }


Rispondi quotando