2012-05-10 9 views
3

「Add Int Frame」ボタンをクリックすると、このHORIZONTAL分割されたJSplitPaneの右側のタブ付きペインにJInternalFrameが描画されます。このInternalFrameでJInternalフレームのネストされたJSplitPane

enter image description here

私は「スプリットペインを追加」ボタンをクリックすることで、ネストされたJSplitPaneのを追加することができます。

ネストされたJSplitPanesは、InternalFrameを移動した場合にのみ表示されます。ボタンを押したときにJSplitPanesをすぐに表示する方法は?ここで

は私のコード

public class MultiSplit extends javax.swing.JFrame { 

JInternalFrame jif; 
JSplitPane jsp1,jsp2,jsp3,jsp4,jsp5, jsp6; 
JTextArea textArea1, textArea2, textArea3, textArea4, textArea5, textArea6; 
int click = 0; 

public MultiSplit() { 
    initComponents(); 
    setLocationRelativeTo(null); 
} 

private void AddIntFramesMousePressed(java.awt.event.MouseEvent evt) {          
    click = 0;   
    jif = new JInternalFrame(); 
    jPanel1.add(jif); 
    jif.setSize(750, 600); 
    jif.setResizable(true); 
    jif.setClosable(true); 
    jif.setMaximizable(true); 
    jif.setIconifiable(true); 
    jif.setVisible(true); 
}     

private void AddPanesButtonMousePressed(java.awt.event.MouseEvent evt) {            
    click++;  
    if(click ==1){ 
    textArea1 = new JTextArea(); 
    textArea2 = new JTextArea(); 

    jsp1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, textArea1, textArea2); 
    jsp1.setVisible(true);  
    jsp1.setResizeWeight(0.75); 
    jsp1.setDividerSize(2); 
    jif.add(jsp1); 
    }   
    else if(click==2){ 
     textArea3 = new JTextArea(); 
     jsp2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, jsp1, textArea3); 
     jsp2.setVisible(true); 
     jsp2.setResizeWeight(0.80); 
     jsp2.setDividerSize(2); 
     jif.add(jsp2); 
    }   
    else if(click==3){ 
     textArea4 = new JTextArea(); 
     jsp3 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, jsp2, textArea4); 
     jsp3.setVisible(true); 
     jsp3.setResizeWeight(0.85); 
     jsp3.setDividerSize(2); 
     jif.add(jsp3); 
    } 
    } 
    public static void main(String args[]) { 
    java.awt.EventQueue.invokeLater(new Runnable() { 

     @Override 
     public void run() { 
      new MultiSplit().setVisible(true); 
     } 
    }); 
    } 
} 

JSplitPanes plotted

+0

問題を説明している[sscce](http://sscce.org/)を含めるように質問を編集してください。 – trashgod

答えて

3

How to Use Internal Framesです: "通常、あなたはデスクトップ区画に内部フレームを追加します。" JInternalFrameJDesktopPaneにあるかどうかにかかわらず、pack()の内部フレームは、囲みのように内部フレームWindowにする必要があります。

+0

関連する例[here](http://stackoverflow.com/a/7220544/230513)があります。 – trashgod

+1

ありがとうtrashgod、それは動作します!私はパック()を見逃した。 –

関連する問題