Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Java] JScrollPane in a JPanel

    Sto lavorando con la grafica in Java.

    Il primo problema è questo.

    Ho una classe che estende la classe JPanel.

    In tale JPanel setto la dimensione in questo modo

    this.setSize(500, 500)
    Poi inizio a disegnarci, in questo modo, dei rettangoli

    public void paint (Graphics g){
    Graphics2D g2 = (Graphics2D) g;
    g2.draw3DRect(0, 0, 200, 200, true);
    g2.draw3DRect(0, 200, 200, 200, true);
    g2.draw3DRect(0, 400, 200, 200, true);
    g2.draw3DRect(0, 600, 200, 200, true);
    Vorrei adesso aggiungere un JScrollPane al mio pannello in modo da poter visualizzare i rettangoli disegnati senza dover espandere il frame che contiene il pannello.

    Ho provato in questo modo:



    JScrollPane scroll_pane = new JScrollPane();
    scroll_pane.setViewportView(this);
    Eppure nulla cambia, nulla muta.

    In che modo posso risolvere?

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

    Re: [Java] JScrollPane in a JPanel

    Originariamente inviato da ragnonerodocet
    Vorrei adesso aggiungere un JScrollPane al mio pannello in modo da poter visualizzare i rettangoli disegnati senza dover espandere il frame che contiene il pannello.
    E il JScrollPane dove lo metti?? Lo devi mettere a sua volta in un "contenitore".

    E comunque se il JScrollPane contiene il JPanel, la dimensione "fisica" del JPanel dipende non dal JPanel ma solo dalla dimensione della "view" del JScrollPane. Mentre per stabilire se/quanto è scrollabile, JScrollPane si basa sul "preferred size" (setPreferredSize()) del JPanel ... non sul suo size (setSize()).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ...

    Posso permettermi di dire che non ho capito?

    In pratica dovrei avere 2 JPanel e uno ScrollPane?

    Il primo JPanel contenente la grafica voluta...

    Poi lo ScrollPane conterrà questo Panel, e ancora un altro JPanel dovrà contenere entrambi?

    Potrei avere un link o un esempio se continuo a non capire?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,280
    Originariamente inviato da ragnonerodocet
    Posso permettermi di dire che non ho capito?

    In pratica dovrei avere 2 JPanel e uno ScrollPane?

    Il primo JPanel contenente la grafica voluta...

    Poi lo ScrollPane conterrà questo Panel, e ancora un altro JPanel dovrà contenere entrambi?
    No alt, bisogna chiarire bene. Vuoi avere una struttura "fisica" del tipo:
    codice:
    JPanel
      \
       JScrollPane
         \
          JPanel
    ?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    la soluzione migliore è avere un JFrame che contiene un JScrollPane che contiene un JPanel

    l'importante è che del JPanel devi modificare la preferred size con setPreferredSize (Dimension size)

    altrimenti il JScrollPane non adatterà le proprie scrollbars alla dimensione da te voluta

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.