2012-05-10 4 views
3

"Int 프레임 추가"버튼을 클릭하면이 HORIZONTAL 분할 JSplitPane의 오른쪽 부분에있는 tabbedPane에 JInternalFrame을 그립니다. 나는 "분할 창을 추가"버튼을 클릭하여 JSplitPane를 중첩 추가 할 수 있습니다이 InternalFrame에JInternal 프레임의 중첩 JSplitPane

enter image description here

.

중첩 된 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()이어야합니다.

+0

[여기] (http://stackoverflow.com/a/7220544/230513)와 관련된 예제가 있습니다. – trashgod

+1

고맙습니다 trashgod, 작동합니다! 나는 그 짐을 놓쳤다. –