Java学习:JSplitPane控件

JSplitPane控件是Swing中的分块显示控件,它最多能显示,也只能显示2个控件。用户可以调整和操控这两个控件。

JSplitPane中的控件可以通过JSplitPane.HORIZONTAL_SPLIT属性设置从左到右;或JSplitPane.VERTICAL_SPLIT属性设置从上到下布置。

JSplitPane()
JSplitPane(int newOrientation)
JSplitPane(int newOrientation, boolean newContinuousLayout)
JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent)
JSplitPane(int newOrientation, Component newLeftComponent, Component newRightComponent)

以上5个构造函数的中参数:

int newOrientation:设置水平显示还是垂直显示
JSplitPane.VERTICAL_SPLIT JSplitPane.HORIZONTAL_SPLIT

boolean newContinuousLayout:设置在调整隔行大小时重绘还是调整隔行大小完毕时重绘
true 调整时重绘 false 调整完毕后重绘

 newLeftComponent newRightComponent:要显示的控件

以上参数可以在构造时设置,也可在创建实例后再设置。

setContinuousLayout(boolean newContinuousLayout)

setOrientation(int orientation)

add(Component comp, int index)

具体事例

public class JSplitPane1 {

    public JSplitPane1() {
        JFrame f = new JFrame("JSplitPaneDemo");
        Container contentPane = f.getContentPane();
        JLabel label1 = new JLabel("Label 1",JLabel.CENTER);
        label1.setBackground(Color.green);
        label1.setOpaque(true);
        JLabel label2 = new JLabel("Label 2",JLabel.CENTER);
        label2.setBackground(Color.pink);
        label2.setOpaque(true);
        JLabel label3 = new JLabel("Label 3",JLabel.CENTER);
        label3.setBackground(Color.yellow);
        label3.setOpaque(true);

        //添加上滑动控件,并将2个label放置控件中
        JSplitPane splitPane1 =
                new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
                        false,
                        label1,
                        label2);
        splitPane1.setDividerLocation(0.3);
        splitPane1.setOneTouchExpandable(true);
        splitPane1.setDividerSize(10);

        //添加主滑动控件,上面是滑动控件,下面是label
        /*JSplitPane splitPane2 =
                new JSplitPane(JSplitPane.VERTICAL_SPLIT,
                               true,
                               splitPane1,
                               label3);*/
        JSplitPane splitPane2 = new JSplitPane();
        splitPane2.setContinuousLayout(true);
        splitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
        splitPane2.add(splitPane1, JSplitPane.BOTTOM);
        splitPane2.add(label3, JSplitPane.TOP);
        splitPane2.setDividerLocation(35);
        splitPane2.setOneTouchExpandable(false);
        splitPane2.setDividerSize(5);

        contentPane.add(splitPane2);

        f.setSize(250,200);
        f.setVisible(true);
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }

    public static void main(String[] arg) {
        new JSplitPane1();
    }
}
时间: 2024-10-20 19:16:56

Java学习:JSplitPane控件的相关文章

Java学习-008-判断文件类型实例

此文源码主要为应用 Java 如何判断文件类型的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-2 23:02:00,请知悉. Java 判断文件类型源码如下所示: 1 /** 2 * @function 判断文件类型 3 * 4 * @author Aaron.ffp 5 * @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java assertFileType

Delphi 7学习开发控件(继承TGraphicControl只画一条线)

我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假设我们要开发一个画直线的控件,那么我们从下面开始做:1.菜单栏→Component→New Component,在弹出的对话框中按照提示添加: Ancestor type 父类:TGraphicControl  [Controls]Class Name 类名:TLineToPalette Page

Java甘特图控件swing版免费下载地址      

FlexGantt 控件是现在Java 平台下最先进的甘特图解决方案,使用一个很高的抽象层次,能适用于多种不同的域,例如 ERP 系统.生产计划和日程安排.制造流程系统或项目公文管理程序等.这些使得 FlexGantt 能从其他有局限性的项目计划(资源.人.任务)甘特图库中脱颖而出. 具体功能: 原文来自http://www.51diaodu.com/pdt/2966 模型视图控制器:FlexGantt 遵从与 Swing 相同 MVC 方法.许多不同的模型用于各种各样的用途.一个日历模型跟踪假

cocostudio学习(UIScrollView控件内部子控件的可视化问题)

cocostudio学习(UIScrollView控件内部子控件的可视化问题) 本文内容也是本人学习过程中与COCOSTUDIO开发高手Nutty的对话记录. googleman  10:57:07 Nutty先生好!按照您的指导,在使用UIScrollView时,先尽量避免使用内部子控件的删除/移动/添等操作.于是,在强调用户选择的是其中内部哪一个子项时我使用了在其前面显示一个'框'(UIImageView)的方法.于是,在初期,仅有一个框框出默认选择的内部子项(也是UIImageView).

Delphi 7学习开发控件

我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假设我们要开发一个画直线的控件,那么我们从下面开始做:1.菜单栏→Component→New Component,在弹出的对话框中按照提示添加: Ancestor type 父类:TGraphicControl  [Controls]Class Name 类名:TLineToPalette Page

自行学习XAML控件后的简单想法(作业一)

由于自身专业水平的欠佳,我对于XAML控件的学习并不深刻,只在简单了解过后产生了一二想法,也许十分荒谬,就减省地谈谈.以下五种控件,是我在学习后,并不十分看好或有所疑虑的. Canves 在浏览XAML Controls Gallery上各种控件的简单介绍时,这个控件引起我注意,它通过坐标轴控制每个内容的分布,是一个用于布局的控件. 首先,这个Canvas控件的展示样例图,让我想起了很多应用中的画面,例如:                              然而在我查询相关资料后,我发现

Java Swing 日期控件(转载)

1 package com.ryd.stocktrader.client.util; 2 3 import java.awt.Color; 4 import java.awt.GridLayout; 5 import java.awt.Label; 6 import java.awt.TextField; 7 import java.awt.event.ActionEvent; 8 import java.awt.event.ActionListener; 9 import java.awt.e

android 学习 Spinner控件的使用

今晚看了下spinner控件的使用,结合博客大神的教程,一个小demo 一,SpinnerActivity private Spinner spinner; private ArrayAdapter<String> adapter; private List<String> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

【2】安卓学习之控件和布局

更新中... 控件: 一.button 拖一下,拉一下,图形化操作即可 按钮相应: 本次问题汇总: 一. android开发过程中突然发现的warning EditText 报出 "This text field does not specify an inputType or a hint" 原因: EditText需要指定默认输入类型 加入android:inputType="number|phone",表示指定为数字或电话 inputtype类型如下: and