Domanda

Ho avuto una finestra di dialogo abbastanza semplice con una coppia di JPanel di dimensioni approssimativamente uguali, contenute in un JSplitPane. Ora sto cercando di aggiungere un terzo JPanel e non sono così sicuro che esista una soluzione ovvia. Esiste un buon framework per il docking delle finestre? o è una cosa orribilmente complessa in cui entrare? Se seguo semplicemente la divisione a 3 pannelli, devo utilizzare una coppia di JSplitPanes nidificati o esiste un'alternativa che consente una divisione a 3 vie?

È stato utile?

Soluzione

La libreria SwingX ha classe JXMultiSplitPane che consente di creare qualsiasi layout di pannelli ridimensionabili.

Un ottimo articolo a riguardo è in http://today.java.net/pub/a/today/2006/03/23/multi-split-pane.html

Altri suggerimenti

Supponiamo che tu abbia tre pannelli:

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 );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top