Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Multi Panel

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    43

    Multi Panel

    Ciao a tutti, devo realizzare un semplice programma che visualizzi un finestra con un pannello per disegnare e uno contenente dei pulsanti. Il mio problema consiste nel fatto che devo generare tre diversi pannelli per i comandi e farne vedere solo uno alla volta quando si presentano particolari situazioni, e io una cosa del genere non l'ho mai fatta.
    Normalmente strutturo i miei programmi un questo modo:
    una classe Frame che mi genera la finestra;
    una classe Panel al cui interno metto due pannelli:
    - il drawpanel contenente il suo ascoltatore e la paintcomponent;
    - il commandpanel contenente il suo ascoltatore;
    (i due pannelli sopracitati vengono messi in comunicazione di modo che io possa
    accedere dal pannello in cui sono alle variabili o ai metodi dell'altro)
    eventuali altra classi in base a cosa deve fare il programma.

    Di solito il codice del Panel e' il seguente:

    codice:
    public class Panel extends JPanel {
        DrawPanel drwPanel;
        CommandPanel cmdPanel;
        
        Panel() {
            drwPanel = new DrawPanel();
            cmdPanel = new CommandPanel();
            
            drwPanel.setCmdPanel(cmdPanel);
            cmdPanel.setDrawPanel(drwPanel);
            
            this.setLayout(new BorderLayout());
            this.add(drwPanel, BorderLayout.CENTER);
            this.add(cmdPanel, BorderLayout.SOUTH);
            this.setVisible(true);
            
        }
    }
    Conscio del fatto che deve essere modificato per questa nuova situazione sono alla ricerca di come modificarlo.
    Per questo programma pensavo di fare altri due panel, autopanel e manpanel, che estenderanno il commandpanel principale, e che specializzero' in base alla loro funzione, pero' la mia domanda e', come faccio a modificare quale dei tre commandpanel deve essere visualizzato?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Multi Panel

    Originariamente inviato da cryspolo
    Il mio problema consiste nel fatto che devo generare tre diversi pannelli per i comandi e farne vedere solo uno alla volta quando si presentano particolari situazioni, e io una cosa del genere non l'ho mai fatta.
    la mia domanda e', come faccio a modificare quale dei tre commandpanel deve essere visualizzato?
    Quando di N componenti bisogna farne vedere sempre solo uno per volta, esiste un layout manager apposito: java.awt.CardLayout
    How to Use CardLayout
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    43
    Ti ringrazio, ci sono un sacco di funzioni che non conosco, per fortuna mi aiutate voi a trovarle altrimenti chissa' quanto tempo ci impiegherei a cercarle da solo.
    Ti chiedo un'altra cosa, quando avvio il programma io genero due frame, il principale che influisce anche sul secondario e il secondario che agisce solo su se stesso.
    C'e' una funzione che mi permette di verificare se il secondario e' aperto, cioe' se io per sbaglio chiudo il secondario e poi premo un bottone sul principale, c'e' un modo per cui il principale di accorge che il secondario e' stato chiuso, lo rigenera e poi fa quello che deve fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    43
    Ho risolto, sono riuscito a fargli fare quello che dicevo io.
    Vi chiedo una mano per disegnare un settore circolare, utilizzo il metodo

    drawarc(X, Y, r, r, 0, 15);

    dove X = coordinate X del centro
    Y = coordinata Y del centro
    r = raggio del cerchio
    0 = angolo di partenza
    15 = di quanto deve estendersi l'angolo

    pero' non funziona, addirittura non mi centra nemmeno il settore circolare, cosa sbaglio? come devo fare?

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    interpreti male la modalità di posizionamento di drawArc : x e y non sono il centro dell'arco, ma l'angolo in alto a sinistra del rettangolo in cui è iscrivibile l'arco.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    43
    Ti ringrazio, in effetti ora ho risolto.
    Ne approfitto ancora un po' senza aprire altri post, c'e' un modo per colorare il testo che viene scritto dentro un jtextfield?

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cryspolo
    c'e' un modo per colorare il testo che viene scritto dentro un jtextfield?
    Sì, e il colore è unico, setForeground(Color).

    P.S. magari ogni tanto leggi la documentazione javadoc
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    PS: oltre a quanto suggerito da andbin, per regolamento dovresti aprire un thread apposito per ciascun diverso argomento. Le ultime due richieste non necessitano di thread, ma solo di leggere la documentazione.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    43
    Uso il piu' possibile la documentazione, ma alcune cose non le trovo proprio

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 © 2025 vBulletin Solutions, Inc. All rights reserved.