Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56

    Problema con JPanel e input da tastiera

    Salve a tutti avrei un problemino con 2 JPanel

    codice:
    panel.setLayout(new BorderLayout());
            panel.add(disegno1, BorderLayout.CENTER);
            panel.add(disegno2, BorderLayout.CENTER);
            disegno1.setOpaque(false);
            disegno2.setOpaque(false);
    disegno 1 e 2 sono 2 pannelli che implementano un keylistener voglio che entrambi siano visualizzati all'interno di panel e che ricevano correttamente l'input da tastiera
    così come ho fatto io mi viene disegnato solo disegno 2 e ascolta nessun input dalla tastiera

    grazie

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Problema con JPanel e input da tastiera

    Originariamente inviato da AspxTM
    Salve a tutti avrei un problemino con 2 JPanel

    codice:
    panel.setLayout(new BorderLayout());
            panel.add(disegno1, BorderLayout.CENTER);
            panel.add(disegno2, BorderLayout.CENTER);
            disegno1.setOpaque(false);
            disegno2.setOpaque(false);
    disegno 1 e 2 sono 2 pannelli che implementano un keylistener voglio che entrambi siano visualizzati all'interno di panel e che ricevano correttamente l'input da tastiera
    così come ho fatto io mi viene disegnato solo disegno 2 e ascolta nessun input dalla tastiera

    grazie
    BorderLayout permette di inserire un solo componente per posizione. Tu stai inserendo due pannelli in CENTER.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    codice:
    panel.setLayout(new BorderLayout());
            panel.add(disegno1, BorderLayout.CENTER);
            panel.add(disegno2, BorderLayout.SOUTH);
            disegno1.setOpaque(false);
            disegno2.setOpaque(false);
    Prova così!

    Per il resto c'è bisogno di capire come hai assegnato il keyListener ai JPanel!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    Ho provato a mettere south ma non va bene, mi serve che i due oggetti che vado a disegnare condividino la stessa area
    il keylistener è una classe interna sia in disegno1 che in 2 (ovviamente ascoltano tasti diversi) e sono assegnati ai componenti con la chiamata "addkeylistener(key)"
    per farvi capire meglio coswa sto combinando vi riassumo il tutto

    ho il disegno di un auto (l'ho creata che estende jpanel e riscritto il metodo paint) che con i tasti direzionali si muove
    ora voglio fare in modo che inserendo nello stesso pannello 2 istanze dell'auto vengano disegnati insieme nello stesso pannello e si possano scontrare (ovviamente lo scontro viene controllato con un metodo apposito)

    mi interessa sapere quindi se è possibile disegnare all'interno di un pannello altri 2 pannelli contemporaneamente (quelli con il metodo paint da me modificato)

    non so se mi sono spiegato bene

  5. #5
    Se ho capito bene due JPanel sovrapposti!?

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da AspxTM
    Ho provato a mettere south ma non va bene, mi serve che i due oggetti che vado a disegnare condividino la stessa area
    Allora non puoi usare BorderLayout, ma un layout manager differente.

    Comunque da un'occhiata a questo, dovrebbe esserti un po' d'aiuto...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    @Wolvy23: si vorrei l'effetto di 2 jpanel sovrapposti
    @Alex'87: dò un occhiata vedo cosa può esserci di utile

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    ho provato il jlayeredpane, ma non penso vada bene
    il panel che ho creato in realtà è una jlabel perchè ha un immagine di sfondo
    se inserisco il jlayeredpane non posso più settare lo sfondo o mi sbaglio?

  9. #9
    Onestamente con i JPanel sovrapposti
    non ho mai avuto a che fare, non saprei aiutarti!!

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    Salve
    sono riuscito a risolvere il problema della sovrapposizione dei pannelli, grazie al layout manager che ha postato sopra Alex'87
    ora ne scaturisce un'altro problema, i due pannelli implementano actionlistener e hanno un timer (quello di swing)
    il problema è che questi non sono sincronizzati, quindi il risultato è che avanza prima un'auto poi un'altra, esiste un metodo per sincronizzare i timer?
    grazie mille dell'aiuto

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.