Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [JAVA] swing e panel

  1. #1

    swing e panel

    è possibile stabilire x un panel la sua "pesantezza", ovvero dirgli che qualsiasi altro oggetto grafico si deve sempre sovrapporre a lui?

  2. #2
    Basta aggiungere gli oggetti interessati direttamente al pannello.

  3. #3
    si, il problema è che nel mio frame ho due pannelli.
    in quello in alto ho messo gli elelementi swing, come ad sempio jcombox e lo restante spazio è occupato da un pannello contenente una scena 3d (canbas3D).
    Ebbene... il combobox quando si apre invece di coprire per la parte necessaria il panel 3d va a finire sotto.

    è questo il vero problema!!
    come risolvere?

  4. #4
    Prova a settare come LayoutManager del JFrame un BorderLayout:

    codice:
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());
    poi aggiungi il pannello del JComboBox al riquadro sud:

    codice:
    contentPane.add(p1,BorderLayout.SOUTH);
    e poi il pannello dell'animazione al centro:

    codice:
    contentPane.add(p2,BorderLayout.CENTER);
    Ricordati che queste istruzioni devono essere contenute nel costruttore del JFrame

  5. #5
    si questo l'ho fatto.
    il problema viene dopo.
    il panel centrale ha infatti:
    codice:
    private JPanel panelCanvas = null;
    codice:
    mainFrame.add(getPanelCanvas(), BorderLayout.CENTER);
    codice:
    	private JPanel getPanelCanvas() {
    		if (panelCanvas == null) {
    			panelCanvas = new JPanel();
    			panelCanvas.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.black,1));
    			panelCanvas.setLayout(new BorderLayout());
    		}
    		return panelCanvas;
    	}
    e dopo assegno:
    codice:
    private Canvas3D myCanvas3D;
    in questo modo:
    codice:
    myCanvas3D = new Canvas3D(config);
    		panelCanvas.add("Center", myCanvas3D);

    così correttamente creato il jframe a video appare ok.

    il problema, ripeto, è quando i componenti del panel in alto vanno a finire sotto il panel 3d.
    è chiaro che se nel jframe nn vado a mettere "panelCanvas.add("Center", myCanvas3D);" l'apertura dei jmenu o dei jcombobox si sovrappongono semza problemi al panelCanvas centrale.

    diciamo che è un problema di "pesantezza" del 3d.... che appare sempre in primo piano....
    come ovviare a questo?

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