Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Interaccia java GUI

  1. #1
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500

    Interaccia java GUI

    Ciao a tutti, ho seguito un corso di java nella mia università, avevamo affrontato anche degli accenni sulla grafica con le GUI ma niente di che! adesso però mi era venuto in mente di capire un pò come si fanno le finestre, i bottoni, le etichette e quant'altro. Seguendo una guida presente in questo sito, sono riuscito a capire un pò come funzionano queste cose e scopiazzando un pò da un esempio ho scritto questo codice che genera una finestrella con 2 bottoni e fa delle azioni a seconda del bottone premuto!

    Ho capito che per posizionare i bottoni, basta usare questo metodo:
    codice:
    add(bottone1,BorderLayout.NORTH);
    dove NORTH indica che viene posizionato nella parte alta della finestra;
    però in questo modo se io volessi mettere più bottoni, uno sotto l'altro, scrivendo:
    codice:
    add(bottone1,BorderLayout.NORTH);
    add(bottone2,BorderLayout.NORTH);
    li sovrappone!!! quindi...volevo sapere un metodo per poter mettere un numero di bottoni a piacimento e posizionarli dove si vuole!
    Grazie


    codice:
    package applicazione;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    public class My_button extends Frame {
    
    	Button b1 = new Button ("clicca bottone 1");
    	Button b2 = new Button ("clicca bottone 2");
    	
    	Label label = new Label ("Non hai cliccato niente");
    	
    
    		public My_button () {
    			
    			b1.addActionListener(new Ascoltare ());
    			
    			b1.setActionCommand("CLICK");
    			
    			add(b1,BorderLayout.NORTH);
    			add(b2,BorderLayout.EAST);
    			
    			add(label,BorderLayout.SOUTH);
    			
    			pack();
    			setVisible(true);
    			
    		}
    	
    
    	public class Ascoltare implements ActionListener {
    		
    		public void actionPerformed( ActionEvent evento ) {
    			
    			String comando = evento.getActionCommand();
    			if ( comando.equals("CLICK")  ) {
    				label.setText("Hai cliccato 1 volta");
    				b1.setLabel("Ricliccami");
    				b1.setActionCommand("RECLICK");
    			}
    			if ( comando.equals("RECLICK") ) {
    				b1.setLabel("Mi hai cliccato tante volte");
    			}
    			
    		}
    	}
    	
    	public static void main(String[] args) {
    		
    		new My_button();
    		
    	}
    	
    }
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    Leggiti questo e anche questo

    Nel BorderLayout, per ogni posizione, ci puoi mettere uno solo dei contenitori, componenti.
    Se ne vuoi mettere di più, li devi mettere in un altro contenitore, e poi aggiungere quest'ultimo a una delle 5 zone di un BorderLayout.
    al volante son nervoso

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Oltre a quanto già detto e indicato correttamente da Rubox, aggiungo che quando si lavora con AWT/Swing l'unica "abilità" sta solo nel saper scegliere il/i layout manager giusto/i (cioè in base alle proprie necessità, scegliere quello/i che forniscono i criteri di posizionamento/dimensionamento richiesti) e poi saper "inscatolare" componenti dentro "contenitori", dentro altri contenitori, ecc..... magari sfruttando anche layout manager differenti nei vari contenitori.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.