Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-05-2006, 09:21   #1
Night82
Senior Member
 
L'Avatar di Night82
 
Iscritto dal: Oct 2003
Messaggi: 1288
[Java] Dubbio su Swing e JFrame

Dopo essermi letto un tutorial per creare interfacce grafiche con swing e aver realizzato una piccola finestra (JFrame) con relativa gestione di eventi mi è venuto un dubbio.

Volevo realizzare un'interfaccia a più livelli nel senso che premuto un pulsante della prima schermata l'interfaccia cambiasse (come se entrasse in una nuova pagina). Poi magari nella seconda finestra un pulsante che mi facesse ritornare nella prima interfaccia.

Per fare una cosa del genere devo ideare un controllo del pulsante che mi chiuda la JFrame precedente e ne apra una nuova delle stesse dimensioni di quella vecchia e posizionata con l'angolo in alto a sinistra nello stesso punto?
Night82 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 09:36   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Ciao,
in effetti, puoi fare cosi'. Comunque (e' una mia opinione personale), non mi sembra la modalita' piu' semplice e neppure graficamente la migliore.

Potresti pensare a strutturare la tua interfaccia grafica in altro modo, per esempio usando una JTabbedPane, oppure dividere la tua schermata mediane JSplitPane e creare un tree sulla sinistra, oppure semplicemente aprendo un'altra JFrame/JDialog.....

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 09:56   #3
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Secondo me (se non è tua intenzione usare i tabs) dovresti creare vari composite dentro la finestra e poi rendere visibile solo quello che ti interessa facendo scomparire tutti gli altri.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 09:58   #4
Night82
Senior Member
 
L'Avatar di Night82
 
Iscritto dal: Oct 2003
Messaggi: 1288
Ok, e se faccio, come dico io, che chiudo il JFrame e ne apro uno nuovo, c'è un metodo (e se si quale?) per capire dove effettivamente era posizionato il JFRame che ho chiuso? In effetti uno potrebbe avere spostato la finestra iniziale dalla posizione iniziale.
Night82 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 09:59   #5
Night82
Senior Member
 
L'Avatar di Night82
 
Iscritto dal: Oct 2003
Messaggi: 1288
Quote:
Originariamente inviato da k0nt3
Secondo me (se non è tua intenzione usare i tabs) dovresti creare vari composite dentro la finestra e poi rendere visibile solo quello che ti interessa facendo scomparire tutti gli altri.
Ecco forse questa è la strada che fa per me.. ora mi informo e smanetto vediamo cosa ne esce.
Night82 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 10:03   #6
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Night82
Ok, e se faccio, come dico io, che chiudo il JFrame e ne apro uno nuovo, c'è un metodo (e se si quale?) per capire dove effettivamente era posizionato il JFRame che ho chiuso? In effetti uno potrebbe avere spostato la finestra iniziale dalla posizione iniziale.
diciamo che non è una soluzione molto elegante.. comunque memorizzi il risultato di getLocation() se non mi sbaglio e poi con setLocation() imposti la posizione della nuova finestra.

ps. ti consiglio di lavorare con http://java.sun.com/j2se/1.5.0/docs/api/index.html aperto
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 10:07   #7
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da k0nt3
diciamo che non è una soluzione molto elegante.. comunque memorizzi il risultato di getLocation() se non mi sbaglio e poi con setLocation() imposti la posizione della nuova finestra.

ps. ti consiglio di lavorare con http://java.sun.com/j2se/1.5.0/docs/api/index.html aperto
Confermo. In piu' puoi avere le dimensioni con getSize() e settarle nuovamente con la setSize ()

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 10:15   #8
Night82
Senior Member
 
L'Avatar di Night82
 
Iscritto dal: Oct 2003
Messaggi: 1288
Avete da indicarmi un tutorial o una guida per utilizzare le Component? Sul tutorial ufficiale non c'è.
Night82 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 10:42   #9
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
guarda.. ecco un esempio puramente indicativo di quello che intendevo:

Codice:
import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Prova extends JFrame {

	private JPanel jContentPane1 = null;
	private JPanel jContentPane2 = null;
	private JButton jButton1 = null;
	private JButton jButton2 = null;
	private JLabel jLabel1 = null;
	private JLabel jLabel2 = null;

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

	public Prova() {
		super();
		
		jLabel1 = new JLabel();
		jLabel1.setText("schermata1:");
		
		jButton1 = new JButton();
		jButton1.setText("prossima schermata");
		jButton1.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				jContentPane1.setVisible(false);
				jContentPane2.setVisible(true);
			}
		});
		
		jContentPane1 = new JPanel(new BorderLayout());
		jContentPane1.add(jLabel1, BorderLayout.CENTER);
		jContentPane1.add(jButton1, BorderLayout.SOUTH);
		jContentPane1.setVisible(true);
		
		jLabel2 = new JLabel();
		jLabel2.setText("schermata2:");
		
		jButton2 = new JButton();
		jButton2.setText("precedente schermata");
		jButton2.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				jContentPane2.setVisible(false);
				jContentPane1.setVisible(true);
			}
		});
		
		jContentPane2 = new JPanel(new BorderLayout());
		jContentPane2.add(jLabel2, BorderLayout.CENTER);
		jContentPane2.add(jButton2, BorderLayout.SOUTH);
		jContentPane2.setVisible(false);
		
		this.setSize(300, 200);
		this.setContentPane(new JPanel());
		this.setTitle("JFrame");
		this.add(jContentPane1);
		this.add(jContentPane2);
	}
}
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2006, 11:43   #10
Night82
Senior Member
 
L'Avatar di Night82
 
Iscritto dal: Oct 2003
Messaggi: 1288
Ok, concetto recepito!
Night82 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
TCL perde in tribunale: quei TV 'QLED' n...
NVIDIA: la scarsità di hardware c...
Nintendo fa causa al governo USA per i d...
iPhone 17 256GB a 899€, MacBook Air 16/2...
C'è l'IA dietro la tua canzone pr...
Rocket Lab ha posticipato il lancio del ...
Dalla missione Artemis IV il razzo spazi...
Una delle sonde europee di ESA Proba-3 h...
Un modder fa girare Linux su PS5: GTA V ...
MacBook Neo: nessuna sorpresa nei primi ...
La serie POCO X8 Pro è pronta al ...
Smartphone: 2026 difficile per il mercat...
Star Wars: Knights of the Old Republic R...
Huang, NVIDIA: OpenClaw ha realizzato in...
Annunciano il recupero di 4,8 milioni di...
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: 11:50.


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