Java知多少(83)面板基础:JPanel和JScrollPane
JPanel
面板是一种通用容器,JPanel的作用是实现界面的层次结构,在它上面放入一些组件,也可以在上面绘画,将放有组件和有画的JPanel再放入另一个容器里。JPanel的默认布局为FlowLayout。
面板处理程序的基本内容有以下几个方面:
通过继承声明JPanel类的子类,子类中有一些组件,并在构造方法中将组件加入面板。
声明JPanel子类对象。
创建JPanel子类对象。
将JPanel子类对象加入到某个容器。
JPanel类的常用构造方法有:
JPanel(),创建一个JPanel对象。
JPanel(LayoutManager layout),创建JPanel对象时指定布局layout。
JPanel对象添加组件的方法:
add(组件),添加组件。
add(字符串,组件),当面板采用GardLayout布局时,字符串是引用添加组件的代号。
【例 11-4】小应用程序有两个JPanel子类对象和一个按钮。每个JPanel子类对象又有两个按钮和一个标签。
import java.applet.*;
import javax.swing.*;
class MyPanel extends JPanel{
JButton button1,button2;
JLabel Label;
MyPanel(String s1,String s2,String s3){
//Panel对象被初始化为有两个按钮和一个文本框
button1=new JButton(s1);button2=new JButton(s2);
Label=new JLabel(s3);
add(button1);add(button2);add(Label);
}
}
public class J504 extends Applet{
MyPanel panel1,panel2;
JButton Button;
public void init(){
panel1=new MyPanel("确定","取消","标签,我们在面板1中");
panel2=new MyPanel("确定","取消","标签,我们在面板2中");
Button=new JButton("我是不在面板中的按钮");
add(panel1);add(panel2);add(Button);
setSize(300,200);
}
}
JScrollPane
当一个容器内放置了许多组件,而容器的显示区域不足以同时显示所有组件时,如果让容器带滚动条,通过移动滚动条的滑块,容器中位置上的组件就能看到。滚动面板JScrollPane能实现这样的要求,JScrollPane是带有滚动条的面板。JScrollPane是Container类的子类,也是一种容器,但是只能添加一个组件。JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中。这样,从界面上看,在滚动面板上,好像也有多个组件。在Swing中,像JTextArea、JList、JTable等组件都没有自带滚动条,都需要将它们放置于滚动面板,利用滚动面板的滚动条,浏览组件中的内容。
JScrollPane类的构造方法有:
JScrollPane(),先创建JScrollPane对象,然后再用方法setViewportView(Component com)为滚动面板对象放置组件对象。
JScrollPane(Component com),创建JScrollPane对象,参数com是要放置于JScrollPane对象的组件对象。为JScrollPane对象指定了显示对象之后,再用add()方法将JScrollPane对象放置于窗口中。
JScrollPane对象设置滚动条的方法是:
- setHorizontalScrollBarPolicy(int policy),policy 取以下列3个值之一:
 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
 JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEED
 JScrollPane.HORIZONTAL_SCROLLBAR_NEVER
- 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);//将含文本区的滚动面板加入到当前窗口中。
系列文章:

Java知多少(83)面板基础:JPanel和JScrollPane的更多相关文章
- 【Java GUI】Java面板基础:JPanel
		有两个面板,常见的面板(JPanel)和滚动面板(JScrollPane) Jpanel 面板是一种常见的容器,JPanel的作用是实现接口层次结构,面放入一些组件.也能够在上面绘画,将放有组件和有画 ... 
- Java知多少(95)绘图基础
		要在平面上显示文字和绘图,首先要确定一个平面坐标系.Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的左上角.一个坐标点(x,y)对应屏幕窗口中的一个像素,是整数 ... 
- Java知多少(100)图像处理基础
		图像是由一组像素构成,用二进制形式保存的图片.java语言支持GIF.JPEG和BMP这3种主要图像文件格式.java语言的图像处理功能被封装在Image类中. 图像载入和输出 在java程序中,图像 ... 
- Java知多少(102)多媒体基础
		本节介绍 Java程序播放幻灯片和动画,播放声音和视频的方法. 播放幻灯片和动画 用实例说明播放幻灯片和动画的方法. [例 12-7]小应用程序先将幻灯片读入数组在存储,单击鼠标变换幻灯片,逐张显示. ... 
- Java知多少(81)框架窗口基础
		窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用.有以下三种窗口: Applet窗口:Applet类管理这 ... 
- JAVA学习Swing章节JPanel和JScrollPane面板的简单学习
		package com.swing; import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton ... 
- Java知多少(74)基础类库
		Java 的类库是 Java 语言提供的已经实现的标准类的集合,是 Java 编程的 API(Application Program Interface),它可以帮助开发者方便.快捷地开发 Java ... 
- Java知多少(43)异常处理基础
		Java异常是一个描述在代码段中发生的异常(也就是出错)情况的对象.当异常情况发生,一个代表该异常的对象被创建并且在导致该错误的方法中被抛出(throw).该方法可以选择自己处理异常或传递该异常.两种 ... 
- Java知多少(完结篇)
		Java知多少(1)语言概述 Java知多少(2)虚拟机(JVM)以及跨平台原理 Java知多少(3) 就业方向 Java知多少(4)J2SE.J2EE.J2ME的区别 Java知多少(5) Java ... 
随机推荐
- C#:几种数据库的大数据批量插入(转)
			在之前只知道SqlServer支持数据批量插入,殊不知道Oracle.SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解 ... 
- php插入上万条mysql数据最快的方法
			1.使用thinkphp框架 先生成包含所有数据的数组,再使用 addAll() 方法,插入1万条数据仅需3秒钟. 2.PHP原始方法: 将SQL语句进行拼接,使用 insert into table ... 
- android studio 代码模板
			作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com android studio 代码模板 an ... 
- Cocos2d-X开发教程-捕鱼达人 Cocos2-x development tutorial - fishing talent
			Cocos2d-X开发教程-捕鱼达人 Cocos2-x development tutorial - fishing talent 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱 ... 
- PHP 实现 word/excel/ppt 转换为 PDF
			前段时间负责公司内部文件平台的设计,其中有一个需求是要能够在线浏览用户上传的 office 文件. 我的思路是先将 office 转换成 PDF,再通过 pdf.js 插件解析 PDF 文件,使其能在 ... 
- PKCS  15 个标准
			PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准. 可以到官网上看看 What i ... 
- 服务 AIDL 定向tag IPC Parcelable 案例 MD
			Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ... 
- android学习笔记(8)linearlayout与android:layout_weight学习
			一,linearlayout 线性布局,布局文件里设置多个linearlayout来达到总体线性布局的风格. android:gravity="right"对齐方式,居右对齐,gr ... 
- WebSocket——为Web应用带来桌面应用般的灵活性【转载+整理】
			原文地址 本文内容 WebSocket 简介 浏览器端的 JavaScript 实现 Java 端的 WebSocket 实现 对 Web 应用的重新思考 使用WebSocket时所需注意的要点 We ... 
- 最佳实战Docker持续集成图文详解
			最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ... 
