2013-05-22 117 views
0

我有兩個Split Pane ..有代碼..我想要的是垂直分隔線不應該被允許拖動,它可以是可擴展的,但應該固定在提到的分隔符位置,一個人不應該能夠使用鼠標向上或向下移動它,因爲我們通常可以,這裏是代碼,我需要添加什麼?JSplit Pane Divder位置修復

package Arrears; 

import UI.UILabel; 
import UI.UIPanel; 
import ebg.MainApp; 
import java.awt.BorderLayout; 
import javax.swing.JInternalFrame; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 
import javax.swing.JMenuItem; 
import javax.swing.JSplitPane; 


public class swingMenu extends JInternalFrame 
{ 
    JMenuBar mbar; 

    JMenu fileMenu; 
    JMenu helpMenu; 

    JMenuItem openFileMenuItem; 
    JMenuItem exitFileMenuItem; 

    JSplitPane horiSplitPane; 
    JSplitPane verSplitPane; 

    UIPanel horiJPanel; 
    UIPanel righJPanel; 
    UIPanel downJPanel; 

    UILabel side; 
    UILabel right; 
    UILabel down; 
    public swingMenu(MainApp This) 
    { 
     super(""); 

     side=new UILabel("side"); 
     right=new UILabel("right"); 
     down=new UILabel("down"); 

     mbar=new JMenuBar(); 

     fileMenu=new JMenu("File"); 
     helpMenu=new JMenu("Help"); 

     openFileMenuItem=new JMenuItem("Open"); 
     exitFileMenuItem=new JMenuItem("Exit"); 

     fileMenu.add(openFileMenuItem); 
     fileMenu.add(exitFileMenuItem); 

     mbar.add(fileMenu); 
     mbar.add(helpMenu); 

     horiJPanel=new UIPanel(); 
     horiJPanel.setLayout(new BorderLayout()); 
     horiJPanel.add(right); 

     righJPanel=new UIPanel(); 
     righJPanel.setLayout(new BorderLayout()); 
     righJPanel.add(right); 

     downJPanel=new UIPanel(); 
     downJPanel.setLayout(new BorderLayout()); 
     downJPanel.add(right); 

     verSplitPane= new JSplitPane(JSplitPane.VERTICAL_SPLIT, righJPanel,downJPanel); 
     verSplitPane.setOneTouchExpandable(true); 
     verSplitPane.setResizeWeight(0.8); 
     verSplitPane.setDividerLocation(360); 

     horiSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, horiJPanel, verSplitPane); 
     horiSplitPane.setOneTouchExpandable(true); 
     horiSplitPane.setResizeWeight(0.2); 
     horiSplitPane.setDividerLocation(120); 

     getContentPane().add(horiSplitPane); 

     setResizable(false); 
     setMaximizable(true); 
     setIconifiable(true); 
     setClosable(true); 
     setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE); 
     setSize(550,500); 
     setLocation(280, 80); 
     setVisible(true); 
     setOpaque(true); 
     setJMenuBar(mbar); 
    } 
} 

回答

0

將添加到垂直JSplitPane(righJPanel和downJPanel)的組件的最小大小設置爲希望它們的大小。在這種情況下,由於您不允許調整框架大小,因此會將分隔線鎖定在指定位置。