博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java实现窗体分区,一个JPanel面板,一个JScrollPane面板
阅读量:4180 次
发布时间:2019-05-26

本文共 1656 字,大约阅读时间需要 5 分钟。

最近由于使用需要,要将一个窗体分为两部分,两个部分相互独立,一部分是普通面板(JPanel),另外一部分是滚动面板(JScrollPane)。效果类似于eclipse的代码区和结果区。

查了资料后知道可以使用JSplitPane进行窗格拆分。

因为当时看到的例子是将两个普通面板拆分,然后我的第一想法是将滚动面板加到普通面板中,想到了就做,我试了好多次,发现一只没有滚动条。然后又查了相关原因:

在滚动面板中加入的JPanel或者JTextArea等组件,在预设置(setPreferredSize(new Dimension())其大小的时候要大于滚动面板组件的大小,在效果刚出来的时候才会显示滚动条。 如果开始组件的大小没有滚动面板的大,到了后续使用过程中内容超出范围的时候应该会出现滚动条。  所以滚动条出现的条件是滚动面板中的内容大小超出了滚动面板的大小。

我按照这种预设置方式进行了尝试,发现还是没有滚动条,然后又去搜了一些,没有找到。

等我找了很久之后,突然醒悟,为什么不能直接将JScrollPane替换成两个JPanel中的一个。。。  这样试了,果然就行了。(这脑子啊,不灵活的时候很费时间的。)

下面给个例子:

import java.awt.BorderLayout;import java.awt.Toolkit;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTextArea;public class SplitPane1 extends JFrame{	JPanel jp1=new JPanel();		JScrollPane jscrollPane;	JTextArea  jtf=new JTextArea();		int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;	int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;		SplitPane1(){		jtf.setPreferredSize(new Dimension(400,300));//预设置JTextArea的大小				Container container = getContentPane();		jscrollPane = new JScrollPane(jtf);		jscrollPane.setSize(300,200);				//将jp1和jscrollPane两个面板在窗体中分割成上下两部分		JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, jp1, jscrollPane);				container.add(splitPane,BorderLayout.CENTER);		pack();		this.setSize(screenWidth/2,screenHeight/2);		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		this.setVisible(true);		splitPane.setDividerLocation(0.7);//设置分割线位置      }	 public static void main(String[] args) {	 new SplitPane1(); }}

 

转载地址:http://tgqai.baihongyu.com/

你可能感兴趣的文章
Hibernate中的Query cache(查询缓存)
查看>>
Hibernate的interceptors与events
查看>>
Android常用代码
查看>>
Cardboard虚拟现实开发初步(二)
查看>>
60个优秀的免费3D模型下载网站
查看>>
Cardboard虚拟现实开发初步(三)
查看>>
Android native和h5混合开发几种常见的hybrid通信方式
查看>>
Vista/Win7 UAC兼容程序开发指南
查看>>
IOS程序开发框架
查看>>
安装jdk的步骤
查看>>
简述JAVA运算符
查看>>
简易ATM源代码及运行结果
查看>>
简述Java中的简单循环
查看>>
用JAVA实现各种乘法表
查看>>
for双重循环实现图形
查看>>
Java类和对象基础
查看>>
简述Java继承和多态
查看>>
Java中Arrays工具类的用法
查看>>
简述JAVA抽象类和接口
查看>>
JAVA常用基础类
查看>>