博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java知多少(83)面板基础:JPanel和JScrollPane
阅读量:6943 次
发布时间:2019-06-27

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

面板有两种,一种是普通面板(JPanel),另一种是滚动面板(JScrollPane)。

JPanel

面板是一种通用容器,JPanel的作用是实现界面的层次结构,在它上面放入一些组件,也可以在上面绘画,将放有组件和有画的JPanel再放入另一个容器里。JPanel的默认布局为FlowLayout。
面板处理程序的基本内容有以下几个方面:
1 通过继承声明JPanel类的子类,子类中有一些组件,并在构造方法中将组件加入面板。2 声明JPanel子类对象。3 创建JPanel子类对象。4 将JPanel子类对象加入到某个容器。

JPanel类的常用构造方法有:

1 JPanel(),创建一个JPanel对象。2 JPanel(LayoutManager layout),创建JPanel对象时指定布局layout。

JPanel对象添加组件的方法:

1 add(组件),添加组件。2 add(字符串,组件),当面板采用GardLayout布局时,字符串是引用添加组件的代号。

【例 11-4】小应用程序有两个JPanel子类对象和一个按钮。每个JPanel子类对象又有两个按钮和一个标签。

1 import java.applet.*; 2 import javax.swing.*; 3 class MyPanel extends JPanel{ 4     JButton button1,button2; 5     JLabel Label; 6     MyPanel(String s1,String s2,String s3){ 7         //Panel对象被初始化为有两个按钮和一个文本框 8         button1=new JButton(s1);button2=new JButton(s2); 9         Label=new JLabel(s3);10         add(button1);add(button2);add(Label);11     }12 }13 public class J504 extends Applet{14     MyPanel panel1,panel2;15     JButton Button;16     public void init(){17         panel1=new MyPanel("确定","取消","标签,我们在面板1中");18         panel2=new MyPanel("确定","取消","标签,我们在面板2中");19         Button=new JButton("我是不在面板中的按钮");20         add(panel1);add(panel2);add(Button);21         setSize(300,200);22     }23 }

 

JScrollPane

当一个容器内放置了许多组件,而容器的显示区域不足以同时显示所有组件时,如果让容器带滚动条,通过移动滚动条的滑块,容器中位置上的组件就能看到。滚动面板JScrollPane能实现这样的要求,JScrollPane是带有滚动条的面板。JScrollPane是Container类的子类,也是一种容器,但是只能添加一个组件。JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中。这样,从界面上看,在滚动面板上,好像也有多个组件。在Swing中,像JTextArea、JList、JTable等组件都没有自带滚动条,都需要将它们放置于滚动面板,利用滚动面板的滚动条,浏览组件中的内容。
JScrollPane类的构造方法有:
1 JScrollPane(),先创建JScrollPane对象,然后再用方法setViewportView(Component com)为滚动面板对象放置组件对象。2 JScrollPane(Component com),创建JScrollPane对象,参数com是要放置于JScrollPane对象的组件对象。为JScrollPane对象指定了显示对象之后,再用add()方法将JScrollPane对象放置于窗口中。

JScrollPane对象设置滚动条的方法是:

  1. setHorizontalScrollBarPolicy(int policy),policy 取以下列3个值之一:
        JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEED
        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER
  2. setVerticalScrollBarPolicy(int policy), policy 取以下列3个值之一:
        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS
        JScrollPane.VERTICAL_SCROLLBAR_AS_NEED
        JScrollPane.VERTICAL_SCROLLBAR_NEVER
以下代码将文本区放置于滚动面板,滑动面板的滚动条能浏览文本区
    JTextArea textA = new JTextArea(20,30);
    JScrollPane jsp = new JScrollPane(TextA);
    getContentPane().add(jsp);//将含文本区的滚动面板加入到当前窗口中。

系列文章:

转载于:https://www.cnblogs.com/Coda/p/4555665.html

你可能感兴趣的文章
linux里shell中的test代表的意义
查看>>
【VMCloud云平台】SCOM配置(六)-应用深度监控
查看>>
解析linux下磁盘乱序的问题
查看>>
Excel图表之道一突破常规
查看>>
是什么浪费了我工作的时间
查看>>
四大超能力加持,京东家电双11效率致胜
查看>>
关于Golang语言的web编程的实例及常见问题
查看>>
JDK5.0新特性(2)-注解(Annotation)
查看>>
C# 中的委托和事件
查看>>
代替Runas,自动输入密码
查看>>
老师的斐波那契数列算法
查看>>
AutoLISP图像控件Image应用示例
查看>>
MVVM中的命令绑定及命令参数
查看>>
动态加载JS脚本【转】
查看>>
单元测试
查看>>
ORALCE存储之ROWID
查看>>
[php]php设计模式 Composite (组合模式)
查看>>
SQL Server之事务基础知识
查看>>
win7 x64 下VC6的调试程序无法退出的问题
查看>>
VBA之四----给程序自动加行号
查看>>