Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da eleinad85 Visualizza il messaggio
    salve a tutti, sto facendo un quiz e ho creato tanti jframe che si aprono l'uno dopo l'altro
    Sono istanze di classi di frame diverse o istanze della stessa classe? Ma in ogni caso sappi che a livello estetico, grafico, non è proprio bellissimo che l'utente veda chiudersi un frame e un altro aprirsi. Parlo proprio dell'effetto visivo. Non è il massimo ....

    Se proprio vuoi continuare su questa strada, fai almeno in modo che quando un frame si chiude prendi posizione/dimensione e li applichi a quello nuovo che si apre.

    Quote Originariamente inviata da eleinad85 Visualizza il messaggio
    dovrei usare due bottoni condivisi da tutti i jframe
    Già "condiviso" è un termine che non sta molto bene qui. Se intendi condividere un oggetto JButton, no. Un componente ha solo 1 parente a livello strutturale della interfaccia, ovvero può stare in un solo contenitore.
    Se crei oggetto frame distinti, ciascuno potrà avere il suo oggetto JButton distinto dagli altri. Quindi la "condivisione" non c'entrerebbe nemmeno.

    Quote Originariamente inviata da eleinad85 Visualizza il messaggio
    codice:
    public class gen 
    {
    public JButton aiuto= new JButton("aiuto");
    Comunque no, campi "pubblici" aperti a tutti giusto perché ti fa comodo, non va bene.

    Quote Originariamente inviata da eleinad85 Visualizza il messaggio
    ho provato anke a metterlo static il jbutton nella classe
    Peggio ancora, a livello di design.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sono istanze di classi di frame diverse o istanze della stessa classe? Ma in ogni caso sappi che a livello estetico, grafico, non è proprio bellissimo che l'utente veda chiudersi un frame e un altro aprirsi. Parlo proprio dell'effetto visivo. Non è il massimo ....

    Se proprio vuoi continuare su questa strada, fai almeno in modo che quando un frame si chiude prendi posizione/dimensione e li applichi a quello nuovo che si apre.


    Già "condiviso" è un termine che non sta molto bene qui. Se intendi condividere un oggetto JButton, no. Un componente ha solo 1 parente a livello strutturale della interfaccia, ovvero può stare in un solo contenitore.
    Se crei oggetto frame distinti, ciascuno potrà avere il suo oggetto JButton distinto dagli altri. Quindi la "condivisione" non c'entrerebbe nemmeno.


    Comunque no, campi "pubblici" aperti a tutti giusto perché ti fa comodo, non va bene.


    Peggio ancora, a livello di design.
    sono istanze di classi diverse, io ho un jframe iniziale dove cè la presentazione bla bla bla, poi al pulsante inizia si avvia il jframe q1 , ovvero( public class q1 extends JFrame) poi in quest'ultimo dopo l'action event sul suo bottone risposta si aprirà public class q2 extends JFrame e cosi via .. a me serviva un bottone che lo potevano vedere e condividere tutti i jframe che apro...non è possibile una cosa del genere?
    Ultima modifica di eleinad85; 08-10-2014 a 22:45

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da eleinad85 Visualizza il messaggio
    sono istanze di classi diverse [...] a me serviva un bottone che lo potevano vedere e condividere tutti i jframe che apro...non è possibile una cosa del genere?
    Ti ripeto che:
    - un oggetto JButton (ma qualunque componente) usato contemporaneamente in due contenitori distinti entrambi visibili (in stessa finestra o finestre diverse, non c'entra) non è possibile.
    - usare un oggetto JButton in un frame, poi chiudere il frame e passare quell'oggetto JButton ad un altro frame, sì questo è tecnicamente possibile ma ha poco senso oltre a complicare solo le cose.

    Quindi il tuo "condividere", in che senso è? Se non vuoi che nelle classi frame1, frame2, frame3, ecc.... (classi distinte, insomma) tu debba ripetere ogni volta il codice es.:

    codice:
    private JButton pulsante;
    
        // es. nel costruttore
        pulsante = new JButton( ... );
    
        pulsante.addActionListener( .... );

    Allora sì, il tuo dubbio è lecito. Ma questo si risolve a livello di "design" delle classi. Le tue classi dei frame hanno delle cose in comune (proprietà o "comportamenti")? Allora la cosa più semplice, nonché tipica, è sfruttare la ereditarietà: una classe base che contiene proprietà/comportamenti comuni e N sottoclassi che specializzano il comportamento.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.