Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-07-2009, 15: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, 15: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, 15: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 15:30. Motivo: ho cannato
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2009, 15: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, 15: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, 15: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, 16: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, 10: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, 11: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


Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Battlefield 6: dall'ultimo State of Play...
Amazon fa crollare i prezzi: componenti ...
Gli italiani spendono fino al 50% della ...
Boom del ricondizionato in Italia: conso...
Marvel's Wolverine: svelato il periodo d...
OPPO annuncia il lancio globale della se...
Saros: annunciata la data d'uscita su PS...
Samsung espande il suo impero audio: acq...
Apple, è scontro con l'Europa sul DMA: "...
Renault alla Milano Fashion Week, una mo...
L'utente con più giochi su Steam ...
iPhone 17 Pro, esplode lo Scratchgate: A...
Amazon mette il turbo agli sconti: 31 of...
Meta domina i social: anche Instagram ra...
Il processore di ritorno al futuro: a 5 ...
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: 10:36.


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