2016-12-23 3 views
0

J'essayais d'ajouter JsplitPane dans mon projet. La nécessité est d'ajouter deux Jpanel à l'intérieur du panneau droit de JSplitPane.SIze de Jpanel à l'intérieur JSplitPanel

donc ce que je l'avais fait est d'ajouter d'abord Jpanel dire qu'il panel1 à panneau de droite et définir BoxLayout.Y-AXIS et que d'ajouter deux panneaux à l'intérieur panel1.

maintenant dans ce panneau deux premier panneau ont BoxLayout et je veux que la largeur de ce panneau soit de taille de panel1 mais je ne suis pas capable de le faire.

Quelqu'un at-il une idée de comment le faire?

+0

Utilisez une application simple de peinture pour rédiger vos besoins, partager aussi le code que ce que vous avez essayé par vous-même. – Arvind

+0

Pour [exemple] (http://stackoverflow.com/a/10110232/230513). – trashgod

Répondre

1

Je tentais d'ajouter JsplitPane dans mon project.Requirement est que je dois ajouter deux Jpanel dans le panneau droit de JSplitPane.

Lorsque vous utilisez JSplitPane, nous devons nous rappeler qu'il divise uniquement le volet en deux composants dire gauche et droite ou Haut et Bas. Donc, quand nous voulons à nouveau ajouter plus d'un composants dans un seul côté de ce JSplitPane, disons dans notre cas Droite, il est préférable d'utiliser Nichoirs fendus. Cela signifie créer des volets séparés à l'intérieur des volets séparés.

donc ce que je l'avais fait est d'ajouter d'abord Jpanel dire qu'il panel1 à panneau droit et mis BoxLayout.Y-AXIS et que d'ajouter deux panneaux à l'intérieur panel1.

maintenant que deux panneau premier panneau ont BoxLayout et je veux la largeur de ce panneau pour être de taille panel1 mais je ne suis pas en mesure de le faire.

Si vous utilisez Nesting de Split Panes, vous ne pouvez pas avoir à créer un parent JPanel supplémentaire que vous avez dit que panel1. En fait, le volet Split est utilisé pour diviser le volet en deux segments. Ainsi, en utilisant Nesting Split Panes vous créez un autre volet fractionné au lieu de ce que vous étiez en train de créer en tant que panel1, puis placez vos deux panneaux enfants dans les deux volets créés par le nouveau JSplitPane qui est imbriqué. Donc, vous n'avez pas à penser à la question de la taille, aussi. J'espère pouvoir vous clarifier et résoudre votre problème.

Une façon simple d'y parvenir en utilisant:

Déclaration:

private JSplitPane jSplitPane1; 
private JSplitPane jSplitPane2; 
private JPanel jPanel1; 
private JPanel jPanel2; 

En Constructor:

jSplitPane1 = new JSplitPane(); 
jSplitPane2 = new JSplitPane(); 

jSplitPane1.setOrientation(JSplitPane.HORIZONTAL_SPLIT); 
jSplitPane1.setRightComponent(jSplitPane2); 
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT); 

jSplitPane1.setTopComponent(jPanel1); 
jSplitPane1.setBottomComponent(jPanel2); 

La méthode décrite ci-dessus est la plus simple à réaliser ce que tu voulais. Toutefois, sans imbrication du volet fractionné, il est possible d'utiliser des volets multi-fractionnés qui peuvent ne pas être très utiles.Pourtant, vous pouvez jeter un oeil à ce vieil article à Oracle:

https://community.oracle.com/docs/DOC-983539

+1

Merci @Rakibul Islam ... c'est utile – nik123