Pergunta

Eu tive um diálogo bastante simples com um par de JPanels de tamanho aproximadamente igual, contido em um JSplitPane. Agora eu estou olhando para a adição de uma 3ª JPanel e eu não tenho tanta certeza de que há uma solução óbvia. Existe um bom quadro janela-docking lá fora? ou isso é uma coisa terrivelmente complexa para entrar? Se eu ficar com a divisão 3 do painel, eu tenho que usar um par de JSplitPanes aninhados ou há uma alternativa que permite uma divisão de 3 vias?

Foi útil?

Solução

SwingX biblioteca tem JXMultiSplitPane classe que permite a criação de quaisquer layouts de painéis redimensionáveis.

Um artigo muito bom sobre ele é em http://today.java.net/pub/a/today/2006/03/23/multi-split-pane.html

Outras dicas

Vamos dizer que você tem três painéis:

JPanel panel1;
JPanel panel2;
JPanel panel3;

// set up panels
...

// put three panels into a horizontal split pane,
// with 2 resizeable dividers
JSplitPane splitPaneLeft = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
JSplitPane splitPaneRight = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPaneLeft.setLeftComponent( panel1 );
splitPaneLeft.setRightComponent( panel2 );
splitPaneRight.setLeftComponent( splitPaneLeft );
splitPaneRight.setRightComponent( panel3 );

// put splitPaneRight onto a single panel
JPanel panelSplit = new JPanel();
panelSplit.add( splitPaneRight );
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top