2011-11-24 56 views
4

调整大小控制,请参阅我的图像下方的链接,然后它下面的阅读我的问题的详细信息。与Java调整JSplitPane

Sample image

试想一下,是splited成两个带调整JSplitPane的基本框架,在默认情况下,当你调整你的框架灰色部分改变它的大小,但我想,白色部分相应调整,以帧大小调整。

任何帮助到正确的方向将是我工作的一个项目,现在可以理解的,我尝试了所有的那种怪异的东西对我最大的项目在新的一年里设置做好准备。 :)

问候 塞隆

回答

10

您需要使用setResizeWeight获得左侧和右侧采取额外的空间或大小减少JFrame的调整,下面的示例代码:

import java.awt.BorderLayout; 

    import javax.swing.JButton; 
    import javax.swing.JFrame; 
    import javax.swing.JSplitPane; 

    public class TestJSplitPane { 
    private void init(){ 
     JFrame frame = new JFrame(); 
     frame.setLayout(new BorderLayout()); 
     JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); 
     splitPane.setRightComponent(new JButton("Here I Am")); 
     splitPane.setLeftComponent(new JButton("Me Too")); 
     splitPane.setResizeWeight(0.5); 
     frame.add(splitPane, BorderLayout.CENTER); 
     frame.pack(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) { 
     new TestJSplitPane().init(); 
    } 
} 

Java说明文件setResizeWeight

希望这会有所帮助。

+0

您好感谢,但现在在你的例子,我想正确的组件的尺寸留在调整大小的静态并添加额外的大小向左之一。 – Theron084

+0

代替splitPane.setResizeWeight(0.5)在上述例子中,使其splitPane.setResizeWeight(1.0),这将确保犯规采取在调整大小的额外的空间,右构件。 – mprabhat

+0

mprabhat,非常感谢,这样做是正确,现在的工作。你们中的任何一个人是否可以链接到关于如何使用JMenuBar和Synth LAF的教程? – Theron084