Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-09-2010, 09:37   #1
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
[java] Gestione GridBagLayout

Ancora una volta mi trovo a combattere con questi "maledetti" layout!!!

allego immagine per chiarire meglio:


Uploaded with ImageShack.us


ora mi chiedop (e dopo vi incollo il codice) perchè la disposizione dei pulsanti non è come dico io?

vorrei che i pulsanti, tranne l'ultimo che mi sta anche bene (cambiando magari la dimensione dello stesso ingrandendolo e accorciandolo) si distribuiscano equamente nello spazio.

Codice:
package view;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.util.Observable;
import java.util.Observer;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;


public class GestioneCampionato extends JPanel implements Observer {
	private static final long serialVersionUID = 1L;
	private JList elencoSquadre, squadreIscritte;
	private JScrollPane scrollerTeam, scrollerIscritti;
	private JButton aggiungSquadra, rimuoviSquadra, generaAccomppiamenti;
	private JComboBox tipologiaAccoppiamenti;
	private JLabel anteprimaDettagli;
	private GridBagLayout layout;
	private GridBagConstraints limiti;

	public GestioneCampionato() {
		super();
		this.init();
	}

	private void init() {
		// TODO codice del metodo init
		this.inizializzaComponenti();
		this.settaComponenti();
		this.aggiungiComponenti();
		this.aggiugniAzioni();
	}

	private void inizializzaComponenti() {
		// TODO codice del metodo inizializzaComponenti
		this.elencoSquadre = new JList();
		this.squadreIscritte = new JList();
		this.scrollerIscritti=new JScrollPane(this.squadreIscritte);
		this.scrollerTeam=new JScrollPane(this.elencoSquadre);
		this.aggiungSquadra = new JButton("Aggiungi Team Selezionato");
		this.rimuoviSquadra = new JButton("Rimuovi Team Selezionato");
		this.generaAccomppiamenti = new JButton("Genera Accoppiamenti");
		this.tipologiaAccoppiamenti = new JComboBox();
		this.anteprimaDettagli = new JLabel("anteprima");
		this.layout = new GridBagLayout();
		this.limiti = new GridBagConstraints();

	}

	private void settaComponenti() {
		// TODO codice del metodo settaComponenti

		this.createSizeFixer(this.aggiungSquadra);
		this.createSizeFixer(this.rimuoviSquadra);
		this.createSizeFixer(this.generaAccomppiamenti);
		this.createSizeFixer(this.tipologiaAccoppiamenti);

		this.elencoSquadre
				.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		this.squadreIscritte
				.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

		
		this.tipologiaAccoppiamenti.addItem("Tabellone Finale");
		this.tipologiaAccoppiamenti.addItem("Gironi da 4 squadre");
		this.tipologiaAccoppiamenti.addItem("Gironi da 6 squadre");
		this.tipologiaAccoppiamenti.addItem("Gironi da 8 squadre");
		
		
		this.limiti.insets.bottom = 10;
		this.limiti.insets.right = 10;
		this.limiti.insets.left = 10;
		this.limiti.insets.top = 10;

		this.setLayout(this.layout);

	}

	private void set(GridBagConstraints lim, int posizioneX, int posizioneY,
			int celleOccupateLarghezza, int celleOccupateAltezza,
			int riempimento, int ancoraggio, double weightx, double weighty) {
		lim.gridx = posizioneY;
		lim.gridy = posizioneX;
		lim.gridwidth = celleOccupateLarghezza;
		lim.gridheight = celleOccupateAltezza;
		lim.anchor = ancoraggio;
		lim.fill = riempimento;
		lim.weightx = weightx;
		lim.weighty = weighty;
	}

	private void aggiungiComponenti() {
		// TODO codice del metodo aggiungiComponenti
		this.set(this.limiti, 0, 0, 1, 4, GridBagConstraints.VERTICAL,
				GridBagConstraints.FIRST_LINE_START, 0, 1);
		this.add(this.scrollerTeam, this.limiti);

		this.set(this.limiti, 0, 2, 1, 3, GridBagConstraints.VERTICAL,
				GridBagConstraints.LINE_END, 0, 1);
		this.add(this.scrollerIscritti, this.limiti);

		this.set(this.limiti, 0, 1, 1, 1, GridBagConstraints.BOTH,
				GridBagConstraints.CENTER, 0, 0);
		this.add(this.aggiungSquadra, this.limiti);
		this.set(this.limiti, 1, 1, 1, 1, GridBagConstraints.BOTH,
				GridBagConstraints.CENTER, 0, 0);
		this.add(this.rimuoviSquadra, this.limiti);
		this.set(this.limiti, 2, 1, 1, 1, GridBagConstraints.BOTH,
				GridBagConstraints.CENTER, 0, 0);
		this.add(this.anteprimaDettagli, this.limiti);
		this.set(this.limiti, 3, 1, 1, 1, GridBagConstraints.BOTH,
				GridBagConstraints.CENTER, 0, 0);
		this.add(this.tipologiaAccoppiamenti, this.limiti);

		this.set(this.limiti, 4, 1, 2, 1, GridBagConstraints.HORIZONTAL,
				GridBagConstraints.CENTER, 1, 0);
		this.add(this.generaAccomppiamenti, this.limiti);

	}

	private void aggiugniAzioni() {
		// TODO codice del metodo aggiugniAzioni

	}

	private void createSizeFixer(final Component component) {
		component.addComponentListener(new ComponentAdapter() {

			public void componentResized(ComponentEvent e) {
				component.removeComponentListener(this);
				Dimension size = component.getSize();
				component.setPreferredSize(size);
				component.setMinimumSize(size);
				component.setMaximumSize(size);
			}
		});
	}

	@Override
	public void update(Observable arg0, Object arg1) {
		// TODO codice del metodo update

	
	}

}

manca la classe di visualizzazione, ma non l'ho fatta manco io ancora X_X
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2010, 10:25   #2
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
ho pseudorisolto inserendo un filler (jlabel vuota) ridimensionabile sotto l'anteprima.


ho ritrovato la guida di pgi
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Disponibili i video e le immagini in alt...
La NASA ha rilasciato le prime fotografi...
Cometa interstellare 3I/ATLAS: l'ESA dif...
Kodak PIXPRO AZ653: la fotocamera bridge...
Monitor da gaming: Samsung si conferma l...
The Duskbloods potrebbe arrivare a fine ...
Il miglior pesce d'aprile del mondo Linu...
Monopattini elettrici a 62 km/h fermati ...
OpenAI porta la modalità vocale d...
Mercedes-Benz introduce lo steer-by-wire...
Hacker agli Uffizi, il museo smentisce: ...
Nvidia mostra il futuro della grafica co...
Windows 11, scattano gli aggiornamenti f...
TIM lancia l'offerta di Pasqua: Giga ill...
Prime foto reali per OPPO Find X9 Ultra:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v