关于java中JSplitPane放在JPanel中的例子

来源:互联网 发布:知乎图片只右显示一半 编辑:程序博客网 时间:2024/06/13 02:03

问题产生:JSplitPane放置到JPanel和JFrame中的效果不一样,在JFrame中可以显示完整,但是在JPanel中显示不完整,这是由于JFrame和JPanel默认的布局管理器不一样所导致的。将JPanel的布局管理器设置为BorderLayout即可




这是一个关于java中JSplitPane放在JPanel中的例子,在网上找了很多列子都是直接放在JFrame中的,因为才刚开始学习java,所以对于很多都不太了解,...所以...当发现一些问题的时候比较兴奋...本例子就是关于JSplitPane放在JPanel中不能显示全部的问题,关键在于JPanel和JFrame的默认布局管理器不一样的原因...  希望有一样对java感兴趣的同志一起相互学习...我的主页http://etwo.javaeye.com/我的QQ:369342286 



package net.etwo.jsplitpane.test; 

import java.awt.BorderLayout; 
import java.awt.Color; 

import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JSplitPane; 
import javax.swing.border.LineBorder; 

public class TestJSplitPane { 

private JFrame jframeMain = new JFrame(); 
private JPanel jpanelMain = new JPanel(); 

// 用于分割两个(只能两个)component 
private JSplitPane jsplitPaneTestOne = new JSplitPane(); 
// 上下 
private JSplitPane jsplitPaneTextTwo = new JSplitPane( 
JSplitPane.VERTICAL_SPLIT); 

public TestJSplitPane() { 
// TODO Auto-generated constructor stub 
// 设置分隔条的位置 
jsplitPaneTestOne.setDividerLocation(40); 
// 将组件分配到分隔符的左边 
jsplitPaneTestOne.setLeftComponent(new JLabel("左边")); 

jsplitPaneTextTwo.setDividerLocation(80); 
//设置分隔条的大小 
jsplitPaneTextTwo.setDividerSize(20); 
//快速展开/折叠分隔条(默认为false) 
jsplitPaneTextTwo.setOneTouchExpandable(true); 
jsplitPaneTextTwo.setLeftComponent(new JLabel("上面")); 
jsplitPaneTextTwo.setRightComponent(new JLabel("下面")); 


// 将组件分配到分隔符的右边 
jsplitPaneTestOne.setRightComponent(jsplitPaneTextTwo); 

jpanelMain.setBorder(new LineBorder(Color.red)); 

//设置jpanelMain的布局管理 
jpanelMain.setLayout(new BorderLayout()); 

jpanelMain.add(jsplitPaneTestOne); 
jframeMain.add(jpanelMain); 

jframeMain.setTitle("分割面板"); 
jframeMain.setSize(500, 600); 
jframeMain.setLocationRelativeTo(null); 
jframeMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
jframeMain.setVisible(true); 


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

原创粉丝点击