Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-06-2007, 11:55   #1
Psygnosis
Senior Member
 
L'Avatar di Psygnosis
 
Iscritto dal: Jun 2005
Città: Nella casella Layer di Photoshop
Messaggi: 737
[JAVA]console vs swing

Ragazzi,
Credete che realizzare un programma java tutto in console sia brutto?
ma realizzarla in swing è un casino, non lo conosco, anche se IDE come jbuilder facciano tutto da solo, non riesco a separare l'implementazione dei pulsanti ad esempio dalla classe che gestisce la grafica...

poi non riesco in alcun modo a visualizzare una qualche sorta di output nella finestra...mi servirebbe visualizzare un record...ma le ho provate tutte!!!!

poi nelle app console, ho anche il problema del clrscreen, cioè+ se realizzo un menu con una switch poi come cavolo pulisco lo schermo?

ringrazio tutto in anticipo
__________________
Ho concluso con: ste_ita, ellyon17, giacomo2007, Artù86, crwm74b4x, giulio81, antoniotdi, Terroncello86
~~~~~~~~~~~~~~~~
Feedback eBay: Pippo2004 100% POSITIVI
Psygnosis è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2007, 12:01   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Dipende. Se il programma non è destinato all'uso umano allora va bene anche la console.
__________________
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 11-06-2007, 12:17   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Psygnosis Guarda i messaggi
Credete che realizzare un programma java tutto in console sia brutto?
Dipende ovviamente da cosa fa il programma.

Quote:
Originariamente inviato da Psygnosis Guarda i messaggi
ma realizzarla in swing è un casino, non lo conosco, anche se IDE come jbuilder facciano tutto da solo, non riesco a separare l'implementazione dei pulsanti ad esempio dalla classe che gestisce la grafica...

poi non riesco in alcun modo a visualizzare una qualche sorta di output nella finestra...mi servirebbe visualizzare un record...ma le ho provate tutte!!!!

poi nelle app console, ho anche il problema del clrscreen, cioè+ se realizzo un menu con una switch poi come cavolo pulisco lo schermo?
Allora innanzitutto bisogna tenere presente una questione molto importante: una cosa è gestire una applicazione "console" in cui sei tu che decidi in ogni momento cosa/come visualizzare o chiedere in input e una cosa è utilizzare una interfaccia grafica gestita ad "eventi".

I due approcci sono radicalmente differenti. In una applicazione console sei tu che puoi dire "ora chiedo all'utente un testo usando il metodo readLine()" (ad esempio della classe Console). In una applicazione grafica no, sono gli eventi che ti dicono cosa è successo (un input dall'utente ... è stato premuto un pulsante, ecc...) e a cui tu devi rispondere facendo qualcosa.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2007, 12:53   #4
Psygnosis
Senior Member
 
L'Avatar di Psygnosis
 
Iscritto dal: Jun 2005
Città: Nella casella Layer di Photoshop
Messaggi: 737
gestione di un teatro...

il problema è che ho molti problemi, tra i quali, non ho idea di come si vualizzi un record in una GUI.
__________________
Ho concluso con: ste_ita, ellyon17, giacomo2007, Artù86, crwm74b4x, giulio81, antoniotdi, Terroncello86
~~~~~~~~~~~~~~~~
Feedback eBay: Pippo2004 100% POSITIVI
Psygnosis è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2007, 13:19   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io non credo che esista questa differenza di gestione tra un'applicazione a console e una GUI.

Venendo al problema del disegno di un record, il primo passo è... disegnarlo. Nel senso tecnico artistico del termine. Scatenati. Lo vedi cosi?



O lo vedi così?



Una volta che hai un modello su cui lavorare puoi pensare a come l'utente potrebbe interagire con esso. Aspetto e interazione vanno a braccetto. L'uno determina l'altro.

Solo dopo aver definito con precisione quello che vuoi ottenere puoi mettere mano a Swing. Ricorda che Swing, come ogni altro framework per la costruzione di interfacce grafiche utente, contiene le basi che userai per costruire i tuoi componenti grafici.

Un javax.swing.JButton non serve a nulla di per sè. Deve essere parte di qualcosa. Quel qualcosa è il componente che devi definire. Per farlo devi prima sapere quello che dovrà fare, come dovrà essere, eccetera. Una volta stabilito questo, il resto è tutta discesa, una pinzillacchera.
__________________
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 11-06-2007, 13:29   #6
Psygnosis
Senior Member
 
L'Avatar di Psygnosis
 
Iscritto dal: Jun 2005
Città: Nella casella Layer di Photoshop
Messaggi: 737
Grazie PGI,
si siamo d'accordo, il problema principale è che io so la struttura, so anche come far girare il tutto attraverso console (tranne per il fatto che gestrire dei menu CASE in java non è splendido, anzi è confusionario quando viene visualizzato soprattutto perche non so come genereare un clearscreen).
Quindi...
Il mio GROSSO problema è che mi manca LA SINTASSI, per far vedere questo risultato, che sta in memoria in una cosa chiamata record[j], ma non ho la piu pallida idea, di come visualizzarlo in una componente swing o awt!

e lo stesso dicasi per input da una textbox in un string, mi manca la sintassi perche se dovessi fare la stessa cosa con un input da tastiera in console, ho gli elementi per farlo...
__________________
Ho concluso con: ste_ita, ellyon17, giacomo2007, Artù86, crwm74b4x, giulio81, antoniotdi, Terroncello86
~~~~~~~~~~~~~~~~
Feedback eBay: Pippo2004 100% POSITIVI
Psygnosis è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2007, 14:12   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io posso solo dirti come fare, non convincerti a farlo

Se non hai lo schema dell'interfaccia grafica che vuoi realizzare, sia per l'aspetto che per l'interazione, resti lì, come in fotografia.
__________________
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 11-06-2007, 15:21   #8
Psygnosis
Senior Member
 
L'Avatar di Psygnosis
 
Iscritto dal: Jun 2005
Città: Nella casella Layer di Photoshop
Messaggi: 737
io intendo una cosa tipo questa:

__________________
Ho concluso con: ste_ita, ellyon17, giacomo2007, Artù86, crwm74b4x, giulio81, antoniotdi, Terroncello86
~~~~~~~~~~~~~~~~
Feedback eBay: Pippo2004 100% POSITIVI
Psygnosis è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2007, 16:13   #9
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Immagino che tu non voglia far comparire le scritte "record[0]", "record[1]"... "record[n]".

Ma è già qualcosa di "lavorabile".

La nota con cui indica il pulsante esprime già un prototipo di interazione. L'interazione è, in maccheronico, la risposta alla domanda "come fa l'utente a fare".

Quando l'utente preme il pulsante visualizza, il componente in blu presenta l'elenco di record.

Oltre al fatto che esiste un collegamento tra il pulsante e il componente in blu questo ci dice anche che il componente in blu sarà in grado di rispondere al messaggio (o avrà il comportamento):

visualizzaRecord(Collection<Record> records) { ... }

oppure

setRecords(Collection<Record>

o

setRecords(Records[]

o

setRecords(Dao d)

o anche

acquisisciRecords() { interroga il DAO, ottiene l'elenco dei record e li proietta.

Quando il pulsante viene premuto, qualcuno invocherà il metodo setRecords del ProiettoreRecord.

Potremmo fissare questi appunti usando un codice provvisorio. Ad esempio ProiettoreRecord potrebbe essere:

Codice:
public class ProiettoreRecord {
    private JPanel componente = new JPanel();

    public ProiettoreRecord() {
        ...predispone i componenti swing necessari alla proiezione dei record
    }

    public void setRecords(Collection<? extends Record> records) {
        ...prendi di dati di ogni record e li presenta
    }

    public JComponent getSwingComponent() {
        return componente;
    }
}
Quella parte dell'interfaccia che possiede il pulsante "visualizza" avrà un riferimento diretto o indiretto ad un ProiettoreRecord.

Codice:
public class RecordWindow {
    private JFrame window = new JFrame("Finestra record");
    private Action actionViewRecords = new AbstractAction("Visualizza") {
        public void actionPerformed(ActionEvent e) {
            visualizzaRecord();
    };
    private JButton pulsanteVisualizzaRecord = new JButton(actionViewRecords);
    private ProiettoreRecord proiettoreRecord;
    private DAO dao;

    public RecordWindow(ProiettoreRecord p, DAO dao) {
        this.dao = dao;
        proiettoreRecord = p;
        ...infila p.getSwingComponent() in window
        ...aggiunge pulsanteVisualizzaRecord a window
    }

    private void visualizzaRecord() {
        //query alla base dati che restituisce l'elenco di record
        Collection<? extends Record> data = dao.getRecords();
        proiettoreRecord.setRecords(data);
    }

    public void showWindow() {
        SwingUtilities.invokeLater(new Runnable() { public void run() {
            window.pack();
            window.setVisible(true);
        }});
    }
}
La distribuzione dei componenti nello spazio l'hai già fatta. Si tratta solo di guardare quale LayoutManager può offrirti quelle forme.

Mi segui?
__________________
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
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Google: il miliardo di utenti di Gemini ...
Testo invisibile nei PDF, così i modelli...
Le riedizioni di Pokémon Rubino, Zaffiro...
Anche BYD lancia il suo gigante: Sealion...
Sky lancia la sua offerta per la stagion...
Rincari fino al 370% per DeepSeek con ta...
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: 14:23.


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