JSplitPane布局的简单问题,大家进来看看啊。。。

yinxiaoqi 2011-05-17 07:26:23
我想用JSplitPane进行页面的分割,先垂直这样分成了,左和右,现在我在想把右侧的用水平分割。大家帮帮忙哈,,,本人初学者啊。。。。
...全文
185 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinxiaoqi 2011-05-17
  • 打赏
  • 举报
回复
OK,谢谢大家哈。。。。
周靖峰 2011-05-17
  • 打赏
  • 举报
回复

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SplitPaneFrame extends JFrame
{
private JButton btnLeft = new JButton("左边");
private JButton btnRightTop = new JButton("右上");
private JButton btnRightBottom = new JButton("右下");

public SplitPaneFrame()
{
JSplitPane rightPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
btnRightTop,
btnRightBottom);
JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
btnLeft,
rightPane);
add(pane);
}

public static void main(String[] args)
{
JFrame frame = new SplitPaneFrame();
frame.setVisible(true);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
chosen0ne 2011-05-17
  • 打赏
  • 举报
回复
可以用多个JSplitPane嵌套来实现啊。。。。

比如:要实现三列的。。。。

inner=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JLabel("a"), new JLabel("b"));
outer=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, inner, new JLabel("c"));


效果是: a | b | c

类似于用JPanel一样,多嵌套一下就可以啦
茫茫大海 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yinxiaoqi 的回复:]
引用 4 楼 zjt321 的回复:
用JPanel 。一个大的面板,含两个面板(用流线型布局),右边的面板含两个面板(用BorderLayout布局)

这样做我想过的,但是左右两侧还有右边的上下不可以拖动了,我想要是可以托动的。
[/Quote]
我上边的那个,应该就是楼主想要的东东!
茫茫大海 2011-05-17
  • 打赏
  • 举报
回复

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;


public class MainFrame extends JFrame {
public MainFrame() {
JSplitPane jsp1 = new JSplitPane();
jsp1.setLeftComponent(new JLabel("第一个JSplitPane的左边"));
JSplitPane jsp2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
jsp2.setLeftComponent(new JLabel("第二个JSplitPane的上边"));
jsp2.setRightComponent(new JLabel("第二个JSplitPane的下边"));
jsp1.setRightComponent(jsp2);
this.add(jsp1);
this.setTitle("JSplitPane示例");
this.setSize(800, 600);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

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

简单的来个例子,楼主参考!
yinxiaoqi 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zjt321 的回复:]
用JPanel 。一个大的面板,含两个面板(用流线型布局),右边的面板含两个面板(用BorderLayout布局)
[/Quote]
这样做我想过的,但是左右两侧还有右边的上下不可以拖动了,我想要是可以托动的。
zjt321 2011-05-17
  • 打赏
  • 举报
回复
用JPanel 。一个大的面板,含两个面板(用流线型布局),右边的面板含两个面板(用BorderLayout布局)
yinxiaoqi 2011-05-17
  • 打赏
  • 举报
回复

JSplitPane jp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT ,new JLabel("上"),new JLabel("下"));
JSplitPane tpsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,jp ,new JLabel("右")) ;

现在就是这样的,我怎么在右测分割呢,上面的操做只直在底下分割了,
nj_dobetter 2011-05-17
  • 打赏
  • 举报
回复
用两个JSplitPane: JSplitPane的右侧中放置另一个JSplitPane
yinxiaoqi 2011-05-17
  • 打赏
  • 举报
回复
大家来看下啊,谢谢啦。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧