Java Swing | JSplitPane及其示例

null

JSplitPane是Java Swing的一部分。JSplitPane仅用于划分两个组件。JSplitPane是用来调整组件大小的。通过使用JSplitPane,用户可以手动调整组件的大小,直到其最小大小。JSplitPane可以有两种类型,一种是垂直的,另一种是垂直的 d水平拆分窗格

JSplitPane的建造商是:

  1. JSplitPane() :创建水平方向的新拆分窗格
  2. JSplitPane(int o) :创建一个新的拆分窗格,并指定方向。
  3. JSplitPane(int o,布尔r) :创建一个新的拆分窗格,其中提到了方向和重画样式。
  4. JSplitPane(int o,boolean r,Component l,Component r) :创建一个新的拆分窗格,其中包含方向、重画样式和提到的左右组件。
  5. JSplitPane(内部o、组件l、组件r) :创建一个新的拆分窗格,其中提到方向和左右组件。

JSplitPane的常用功能包括:

  1. getOrientation() :返回拆分窗格的方向
  2. getRightComponent() :返回拆分窗格的右侧组件
  3. getTopComponent() :返回拆分窗格的顶部组件
  4. isContinuousLayout() :返回连续布局属性
  5. getBottomComponent() :返回拆分窗格的底部组件
  6. setRightComponent(组件c) :拆分窗格的右侧组件设置为c
  7. setLeftComponent(组件c) :拆分窗格的左侧组件设置为c
  8. setTopComponent(组件c) :拆分窗格的顶部组件设置为c
  9. SetBottom组件(组件c) :拆分窗格的底部组件设置为c
  10. setUI(SplitPaneUI ui) :设置渲染此组件的外观对象。
  11. setResizeWeight(双v) :指定在拆分窗格的大小更改时如何分配额外空间。
  12. setOneTouchExpandable(布尔n) :设置oneTouchExpandable属性的值,当为true时,该属性提供一个UI小部件,可在单击时折叠或展开组件
  13. setDividerLocation(内部l) :设置分隔器的位置。
  14. setDividerSize(int n) :设置分隔符的大小。
  15. setLastDividerLocation(内部n) :设置分隔器的最后位置。
  16. setDividerLocation(双p) :将分隔器位置设置为JSplitPane大小的百分比。
  17. setContinuousLayout(布尔n) :设置continuousLayout属性的值,该属性必须为true才能连续重新显示子组件。
  18. 删除(整型索引) :删除指定索引处的组件。
  19. 拆卸(部件c) :从窗格中删除子组件。
  20. isOneTouchExpandable() :返回oneTouchExpandable属性。
  21. isContinuousLayout() :返回continuousLayout属性。
  22. getMinimumDividerLocation() :返回分隔符的最小位置。
  23. getMaximumDividerLocation() :返回分隔符的最大位置。
  24. getDividerSize() :返回分隔符的大小。
  25. getDividerLocation() :返回传递给setDividerLocation的最后一个值。
  26. addImpl(组件c、对象co、int i) :将指定组件添加到此拆分窗格。
  27. setUI(SplitPaneUI):设置呈现此组件的外观对象。
  28. getUI() :返回呈现此组件的外观对象。
  29. paramString():返回此JSplitPane的字符串表示形式。
  30. getUIClassID() :返回呈现此组件的外观类的名称。
  31. getAccessibleContext() :获取与此JSplitPane关联的AccessibleContext。

以下程序将说明JSplitPane的使用 1.创建水平JSplitPane以分隔两个文本区域的程序

// Java Program to create a horizontal JSplitPane
// to separate two text areas
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
// frame
static JFrame f;
// text areas
static JTextArea t1, t2;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame( "frame" );
// create a object
solve s = new solve();
// create a panel
JPanel p1 = new JPanel();
JPanel p = new JPanel();
// create text areas
t1 = new JTextArea( 10 , 10 );
t2 = new JTextArea( 10 , 10 );
// set texts
t1.setText( "this is first text area" );
t2.setText( "this is second text area" );
// add text area to panel
p1.add(t1);
p.add(t2);
// create a splitpane
JSplitPane sl = new JSplitPane(SwingConstants.HORIZONTAL, p1, p);
// add panel
f.add(sl);
// set the size of frame
f.setSize( 300 , 300 );
f.show();
}
}


输出: 图片[1]-Java Swing | JSplitPane及其示例-yiteyi-C++库

2.创建垂直JSplitPane以分隔两个文本区域的程序

// Java Program  to create a vertical
// JSplitPane to separate two text areas
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
// frame
static JFrame f;
// text areas
static JTextArea t1, t2;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame( "frame" );
// create a object
solve s = new solve();
// create a panel
JPanel p1 = new JPanel();
JPanel p = new JPanel();
// create text areas
t1 = new JTextArea( 10 , 10 );
t2 = new JTextArea( 10 , 10 );
// set texts
t1.setText( "this is first text area" );
t2.setText( "this is second text area" );
// add text area to panel
p1.add(t1);
p.add(t2);
// create a splitpane
JSplitPane sl = new JSplitPane(SwingConstants.VERTICAL, p1, p);
// set Orientation for slider
sl.setOrientation(SwingConstants.VERTICAL);
// add panel
f.add(sl);
// set the size of frame
f.setSize( 300 , 300 );
f.show();
}
}


输出: 图片[2]-Java Swing | JSplitPane及其示例-yiteyi-C++库

2.创建嵌套JSplitPane的Java程序,其中一个是一键可扩展的

// Java Program to create nested JSplitPane,
// one of them is one Touch Expandable
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
// frame
static JFrame f;
// text areas
static JTextArea t1, t2, t3, t4;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame( "frame" );
// create a object
solve s = new solve();
// create a panel
JPanel p1 = new JPanel();
JPanel p = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
// create text areas
t1 = new JTextArea( 10 , 10 );
t2 = new JTextArea( 10 , 10 );
t3 = new JTextArea( 10 , 10 );
t4 = new JTextArea( 10 , 10 );
// set texts
t1.setText( "this is first text area" );
t2.setText( "this is second text area" );
t3.setText( "this is third text area" );
t4.setText( "this is fourth text area" );
// add text area to panel
p1.add(t1);
p.add(t2);
p2.add(t3);
p3.add(t4);
// create a splitpane
JSplitPane sl = new JSplitPane(SwingConstants.VERTICAL, p1, p);
JSplitPane s2 = new JSplitPane(SwingConstants.VERTICAL, p2, p3);
// set Orientation for slider
sl.setOrientation(SwingConstants.VERTICAL);
s2.setOrientation(SwingConstants.VERTICAL);
s2.setOneTouchExpandable( true );
// set divider location
sl.setDividerLocation( 70 );
// set Layout for frame
f.setLayout( new FlowLayout());
// add panel
f.add(sl);
f.add(s2);
// set the size of frame
f.setSize( 600 , 300 );
f.show();
}
}


输出: 图片[3]-Java Swing | JSplitPane及其示例-yiteyi-C++库

注意:上述程序可能无法在联机编译器中运行,请使用脱机IDE

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享