Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-01-2008, 18:43   #1
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
[JAVA] BorderLayout, Box e JTextField

Salve, ho un pannello con layout BorderLayout. A south ho un JButton, poco importa. Al centro ho un Box.createVerticalBox() che a sua volta contiene:

JTextField
Box.createGlue()
JTextField

Il problema è che i due JTextField non vengono distanziati affatto, anzi vengono allargati dividendosi a metà lo spazio. Cosa che con i JButton per esempio non avviene. Come risolvo?
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2008, 20:39   #2
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Qualcosa del genere insomma...

Codice:
import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class Prova {

	public static void ok() {
		JFrame frame = new JFrame();

		frame.setSize(new Dimension(400, 600));
		frame.setLayout(new BorderLayout());

		Box south = Box.createHorizontalBox();
		south.add(Box.createGlue());
		south.add(new JButton("CIAO"));
		frame.add(south, BorderLayout.SOUTH);

		Box center = Box.createVerticalBox();
		center.add(Box.createGlue());
		JButton button = new JButton("OK");
		button.setLayout(new BoxLayout(button, BoxLayout.LINE_AXIS));
		center.add(button);
		frame.add(center, BorderLayout.CENTER);

		frame.setVisible(true);
	}
	
	public static void wrong() {
		JFrame frame = new JFrame();

		frame.setSize(new Dimension(400, 600));
		frame.setLayout(new BorderLayout());

		Box south = Box.createHorizontalBox();
		south.add(Box.createGlue());
		south.add(new JButton("CIAO"));
		frame.add(south, BorderLayout.SOUTH);

		Box center = Box.createVerticalBox();
		center.add(Box.createGlue());
		JTextField field = new JTextField();
		field.setLayout(new BoxLayout(field, BoxLayout.LINE_AXIS));
		center.add(field);
		frame.add(center, BorderLayout.CENTER);

		frame.setVisible(true);
	}
	
	static public void main(String[] args) {

		ok();
		wrong();
	}
}
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 08:52   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Hai provato sostituendo Box.createGlue() con Box.createHorizontalGlue() ?

Se glue non funge come vorresti puoi sperimentare con struts e rigidArea (vedi qui)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 13:43   #4
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Niente, sembra che JTextField se ne freghi delle impostazioni e si spalmi sembre su tutto lo spazio disponibile.
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 15:34   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Incapsulandolo in un JPanel invece? Vabbè, siamo alla frutta
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 16:34   #6
AMGOD
Senior Member
 
L'Avatar di AMGOD
 
Iscritto dal: Oct 2004
Città: Torino
Messaggi: 3054
Hai provato ad usare il costruttore del JTextField passandogli un intero?
JTextField field = new JTextField(10); per esempio.
Così dovresti regolare la dimensione, non ho capito se hai esigenze sulla posizione...
__________________

Asus M4A785TD-V EVO||AMD Phenom 955 BE+Scythe Mugen 2||Corsair XMS3 2x2GB||Seasonic M12 600w||ATI HD4890+Accelero Twin Turbo


Ho trattato con 62 utenti affidabili. Ciao

Ciao
AMGOD è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 18:30   #7
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Fermi tutti ho capito. Box (e BoxLayout) tendono a spalmare gli oggetti su tutta la superficie disponibile tenendo conto però della dimensione massima degli oggetti. JButton ha una dimensione massima standard mentre JTextField ha dimensione massima +infinto Quindi il problema si risolve dando a JTextField una dimensione fissa per l'altezza (20) e Integer.MAX_VALUE per la larghezza.

In termini di codice dovrebbe essere qualcosa del genere:

Codice:
import java.awt.Dimension;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class Prova {
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.setSize(new Dimension(300, 500));
		
		frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.PAGE_AXIS));
		frame.getContentPane().add(new JButton("OK"));
		JTextField field = new JTextField();
		field.setMaximumSize(new Dimension(500, 20));

		frame.getContentPane().add(field);
		frame.setVisible(true);
	}
}
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 08:34   #8
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Bene, ho imparato qualcosa di nuovo

Fin'ora non ho mai avuto bisogno di gestirmi i dettagli di layout dell'interfaccia grafica a questo livello, ho sempre interagito tramite Matisse (editor grafico dell'IDE NeatBeans) e mi è sempre andata bene
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 09:23   #9
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Bene, ho imparato qualcosa di nuovo

Fin'ora non ho mai avuto bisogno di gestirmi i dettagli di layout dell'interfaccia grafica a questo livello, ho sempre interagito tramite Matisse (editor grafico dell'IDE NeatBeans) e mi è sempre andata bene
Io matisse l'ho abbandonato, il codice non è personalizzabile totalmente e questa cosa non mi piace proprio.
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 09:25   #10
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da redcloud Guarda i messaggi
Io matisse l'ho abbandonato, il codice non è personalizzabile totalmente e questa cosa non mi piace proprio.
E cosa usi come sostituto? Non dirmi che ti fai tutto a manina
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 10:13   #11
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
E cosa usi come sostituto? Non dirmi che ti fai tutto a manina
Campo col riciclo. Tanto le Dialog son sempre quelle, basta spostare i componenti Visual Editor su eclipse è più personalizzabile.
redcloud è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
SpaceX ha lanciato le missioni Crew-13, ...
DJI Avata 2 in offerta Prime: drone FPV ...
Microsoft vuole far agire l'IA prima anc...
Ginga porta il monitoraggio delle perfor...
Tesla sorprende Wall Street: 486.532 con...
Cosa succede alle ossa degli astronauti ...
AgriEuro Premium Days: il 6 e 7 ottobre ...
259 euro per 2 TB di SSD PCIe 4.0 (Biwin...
GPT-6 Astra decifra dopo 217 anni una le...
Roborock Saros 20 Neo: pulisce al meglio...
Samsung Galaxy S27 Ultra, nuove conferme...
Offerte Prime Candy: lavatrice ProWash 3...
Tegola su Anthropic, gli agenti AI valgo...
E-bike in carbonio con un prezzo assurdo...
Serrature smart SwitchBot Lock Ultra in ...
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: 19:37.


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