Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [JAVA] Impilare i JPanel !?

    Scusate, avendo un JPanel infoPan e volendo inserirvi due JPanel occupanti la stessa posizione, di cui il JPanel panDWN contiene un JLabel con un'immagine e il JPanel panUP contiene un JScrollPAne e sua volta una JTextArea, come posso procedere!?

    Ecco il mio codice di partenza, ovviamente non ottengo il risultato sperato
    codice:
    JPanel panDWN = new JPanel();
    panDWN.setOpaque(true);
    JLabel infoSfondo = new JLabel(new ImageIcon("images\\img\\modReg.gif"));
    panDWN.add(infoSfondo);
    
    JPanel panUP = new JPanel();
    panUP.setOpaque(true);
    JTextArea infoText = new JTextArea();
    JScrollPane infoScroll = new JScrollPane(infoText);
    panUP.add(infoScroll);
         	
    infoPan.add(panDWN);
    infoPan.add(panUP);
    add(infoPan);
    Grazie a Tutti per l'attenzione.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    mmm la ta domanda così espressa è abbastanza confusa...ma con un po' di intuito/immaginazione credo di aver capito che tu voglia inserire dentro "infoPan" i due pannelli (panDWN e panUP) contenenti a loro volta altre componenti grafiche...se è così bè sfrutta le funzionalità offerte dai gestori di Layout...giusto per fare un esempio potresti fare:

    codice:
    infoPan.setLayout (new BorderLayout ());
    infoPan.add(panDWN , BorderLayout.NORTH);
    infoPan.add(panUP , BorderLayout.CENTER);
    ovviamente sta a te scegliere il gestore di Layout più adeguato alle tue esigenze

  3. #3
    con il border dai priorità al center, mentre io ti consiglio un GridLayout con 2 righe e 1 colonna, in modo che avrai una suddivisione esatta del pannello principale.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Originariamente inviato da franksisca
    con il border dai priorità al center, mentre io ti consiglio un GridLayout con 2 righe e 1 colonna, in modo che avrai una suddivisione esatta del pannello principale.
    Si ma infatti il mio era un semplice esempio per rendere l'idea sull'utilizzo di un gestore di Layout (a caso)...poi (come ho anche specificato sopra) sta a lui scegliere quello più adatto

  5. #5
    Grazie dell'attenzione prestatami.
    Mi son spiegato male io, in effetti il JPanel panDWN e il JPanel panUP stanno all'interno del JPanel infoPan ma uno sull'altro considerando l'asse z dello schermo, cioè sono impilati l'uno sull'altro!!

    La scena è questa: il JPanel panDWN visualizza un'immagine e il JPanel panUP del testo che si dovrebbe vedere sopra l'immagine. In due parole del testo in trasparenza su un'immagine!!!

    Grazie.

  6. #6
    prova il cardlayout

  7. #7
    Ok grazie lo proverò.... avete qualche esempio da cui partire? Grazie.

  8. #8
    Scusate forse non ho capito bene come funziona il CardLayout

    Perchè non viene visualizzato il JPanel con la scritta sopra il JPAnel colorato!?

    codice:
    public class MainProva extends JFrame {
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = -7336648702131801090L;
    	
    	public MainProva() {
    		
    		JPanel pan1 = new JPanel();
    		pan1.setBackground(new Color(25,125,100,100));
    		pan1.setOpaque(true);
    		
    		JLabel label2 = new JLabel("TESTO PROVA!!");
    		JPanel pan2 = new JPanel();
    		pan2.setOpaque(true);
    		pan2.add(label2);
    		
    		CardLayout cl = new CardLayout();
    		JPanel pannello = new JPanel();
    		pannello.setLayout(cl);
    
    		pannello.add(pan1);
    		pannello.add(pan2);
    		
    		//...
    		setPreferredSize(new Dimension(500,500));
    		add(pannello);
    		pack();
    		setVisible(true);
    	}
    	
    	public static void main(String[] args) {
    		new MainProva();
    	}
    
    }

  9. #9
    Credo che il CardLayout non serva al mio scopo, ma piuttosto permette di "sfogliare" i JPanel, non di sovrapporli in trasparenza, giusto!?

  10. #10
    veramente il cardlayout li sovrappone...e credo che se setti la trasparenze dovrebbero vedersi...un pò come i livelli su photoshop. se però così non funziona, credo che tu deba andare nelle definizione di una classe che estende jpanel e che ridisegna il tutto

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.