Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-07-2009, 16:05   #1
Cory
Member
 
L'Avatar di Cory
 
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
[JAVA] problema creazione griglia per GridBagLayout

Ciao a tutti, sto realizzando un'applicazione in Java utilizzando come LayoutManager il GridBagLayout. Il mio unico problema è che non so come realizzare la griglia per il programma che vedete in foto...voi come fareste? NB: mi interessa solo lo schema con la suddivisione in celle, per il resto il programma funziona alla perfezione

Cory è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2009, 16:25   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Direi tre righe, quattro colonne.

L'area bianca occupa una riga per quattro colonne, riempie tutta la cella e si accaparra tutto lo spazio verticale in eccesso.

Il resto occupa una cella singola. Giocando un po' con weightx e gli allineamenti riesci poi ad appoggiare i singoli componenti ai lati destro o sinistro delle rispettive celle.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2009, 16:29   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
* edit
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 01-07-2009 alle 16:30. Motivo: ho cannato
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2009, 16:31   #4
Cory
Member
 
L'Avatar di Cory
 
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
ok, come l'avevo pensata io...l'unica cosa è che cliccando sul bottone si modifica il testo della JLabel che passa da ATTIVATO a DISATTIVATO e viceversa, modificando quindi la larghezza della colonna...come posso fare per evitare questo inconveniente?
Cory è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2009, 16:40   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
fissa le dimensioni dei componenti che non vuoi che si ridimensionino (setMinimum e setMaximumSize a getPreferredSize in un ComponentAdapter).
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2009, 16:53   #6
Cory
Member
 
L'Avatar di Cory
 
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
uff, non capisco...non mi viene niente...
Cory è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2009, 17:27   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Una soluzione è questa:

Codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Main {

	public static void main(String[] args) {
	
		EventQueue.invokeLater(new Runnable() {
			public void run() { start(); }
		});
	}
	
	private static void fixSize(final JComponent...comps) {
		for(final JComponent c : comps) {
			c.setMinimumSize(c.getSize());
			c.setMaximumSize(c.getSize());
			c.setPreferredSize(c.getSize());
		}
	}
	
	private static void start() {
		class Lim extends GridBagConstraints {
			Lim(int...v) {
				gridx = v[0];
				gridy = v[1];
				gridwidth = v[2];
				gridheight = v[3];
				weightx = v[4];
				weighty = v[5];
				fill = v[6];
				anchor = v[7];
			}
			Lim ins(int top, int left, int right, int bottom) {
				insets.top = top;
				insets.left = left;
				insets.right = right;
				insets.bottom = bottom;
				return this;
			}
		};
		
		final JLabel l = new JLabel("ABILITATO");
		JButton b = new JButton(new AbstractAction("Cambia stato") {
			@Override
			public void actionPerformed(ActionEvent e) {
				if("ABILITATO".equals(l.getText())) {
					l.setText("DISABILITATO");
				} else {
					l.setText("ABILITATO");
				}
			}
		});
		
		JComponent c0 = b;
		JComponent c1 = l;
		JComponent c2 = new JLabel("X = ");
		JComponent c3 = new JTextField(6);
		JComponent c4 = new JLabel("Y = ");
		JComponent c5 = new JTextField(6);
		JComponent c6 = new JScrollPane(new JTextArea(20,30));
		
		JPanel panel = new JPanel(new GridBagLayout());
		panel.add(c0, new Lim(0, 0, 1, 1, 0, 0, Lim.NONE, Lim.CENTER));
		panel.add(c1, new Lim(1, 0, 1, 1, 0, 0, Lim.NONE, Lim.CENTER).ins(0,10,0,0));
		panel.add(c2, new Lim(2, 0, 1, 1, 1, 0, Lim.NONE, Lim.EAST));
		panel.add(c3, new Lim(3, 0, 1, 1, 0, 0, Lim.NONE, Lim.WEST).ins(0,0,40,0));
		panel.add(c4, new Lim(2, 1, 1, 1, 0, 0, Lim.NONE, Lim.EAST));
		panel.add(c5, new Lim(3, 1, 1, 1, 0, 0, Lim.NONE, Lim.WEST).ins(0,0,40,0));
		panel.add(c6, new Lim(0, 2, 4, 1, 1, 1, Lim.BOTH, Lim.CENTER).ins(10,0,0,0));
		
		JFrame window = new JFrame("Test");
		window.add(panel);
		window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		window.pack();
		
		fixSize(c3, c5);
		
		window.setVisible(true);
	}
}
Ma hai tante altre opzioni.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2009, 11:06   #8
Cory
Member
 
L'Avatar di Cory
 
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
diavolo, non capisco come fare a mettere vicine le prime due righe
Cory è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2009, 12:01   #9
Cory
Member
 
L'Avatar di Cory
 
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
come non detto, è bastato spippolare coi pesi
Cory è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Musk non riesce a fermare la causa: le t...
Grafene al posto del silicio per le cell...
F-Stop, il prequel cancellato di Portal ...
Il razzo spaziale New Glenn di Blue Orig...
La Cina si prepara al primo lancio orbit...
Sale LAN, la Manovra 2027 introduce una ...
11 prezzi imperdibili in Amazon: non sol...
Giù i prezzi di Xiaomi 17T e Xiao...
Una tassa di 5,5 centesimi su ogni gigab...
Vuoi clonare un videogioco con l'IA? Cla...
Furto da 6,3 miliardi di dollari, Binanc...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
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: 05:06.


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