problema con BorderLayout

tony1

Utente Attivo
8 Ago 2010
32
0
0
Per fare esercizio sto realizzando il gioco dell'impiccato.Non riesco però a visualizzare in un BorderLayout i pulsanti che rappresentano le lettere che vanno cercate.Vi posto il codice:
Codice:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*; 

public class Impiccato extends JFrame {
	
	String[] alfa={"a","b","c","d","e","f","g","h","i","l","m","n","o","p","q","r","s","t","u","v","z"};
	JButton[] lettere=new JButton[21];
	ImageIcon icona=new ImageIcon("c:/java/Hangman0.gif");
	JLabel figure=new JLabel(icona);
	JLabel prova=new JLabel("Impiccato");
	JLabel prova1=new JLabel();
	JLabel prova2=new JLabel();
	
	
	public Impiccato(){
		setSize(300,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JPanel pane=new JPanel();
		  pane.setLayout(new BorderLayout());
		  pane.add("North",prova);
		  pane.add("West",prova1);
		  pane.add("East",prova2);
		  pane.add("Center",figure);
		  for(int i=0;i<21;i++){
			  lettere[i]=new JButton(alfa[i]);
		      pane.add("South",lettere[i]);
		  }
		  setContentPane(pane);
		  setVisible(true);
		  
		 // for(int i=0;i<22;i++){
		 // lettere[i].addActionListener(this);
		 // }
	}
	
	public static void main(String[] args){
		  Impiccato im=new Impiccato();
	  }
	
	/*public void actionPerformed(ActionEvent e){
		if(e.getSource()==lettere){
			prova1.setText("ciao");
		}
	}*/
}
Mi visualizza solo il pulsante con la lettera z.
 

andbin

Nuovo Utente
30 Ago 2004
12
1
0
TO
Innanzitutto BorderLayout suddivide il "contenitore" che ha questo layout solo in 5 aree. Punto. Solo queste. Quindi in una area es. SOUTH, puoi avere un (1) componente e basta.

Quindi devi ripensare bene la interfaccia utente. Ad esempio in SOUTH potresti mettere un JPanel che ha un BoxLayout orizzontale che contiene gli N JButton delle lettere. Oppure visto che sono tanti, un JPanel con un GridLayout di NxM celle.

Insomma, "inscatola" meglio componenti dentro contenitori, dentro ecc.... è così che si fa in Swing.

Infine, hai usato es:

pane.add("North",prova);

Non è sbagliato tecnicamente. Ma questo add è il

add(String name, Component comp)

che la documentazione ufficiale indica come "obsoleto". Dovresti usare l'altro add:

add(Component comp, Object constraints)

Quindi ad esempio:

pane.add(prova, BorderLayout.NORTH);

Usando le costanti di BorderLayout.
 
Discussioni simili
Autore Titolo Forum Risposte Data
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18
grgfede Problema javascript con aruba Javascript 1

Discussioni simili