java入门教程-10.4Java面板基础:JPanel和JScrollPane

2024-01-17 19:48

本文主要是介绍java入门教程-10.4Java面板基础:JPanel和JScrollPane,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面板有两种,一种是 普通面板(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子类对象又有两个按钮和一个标签。
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类的构造方法有:
  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);//将含文本区的滚动面板加入到当前窗口中。

这篇关于java入门教程-10.4Java面板基础:JPanel和JScrollPane的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617022

相关文章

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso

Spring Validation中9个数据校验工具使用指南

《SpringValidation中9个数据校验工具使用指南》SpringValidation作为Spring生态系统的重要组成部分,提供了一套强大而灵活的数据校验机制,本文给大家介绍了Spring... 目录1. Bean Validation基础注解常用注解示例在控制器中应用2. 自定义约束验证器定义自

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2

Spring Boot Controller处理HTTP请求体的方法

《SpringBootController处理HTTP请求体的方法》SpringBoot提供了强大的机制来处理不同Content-Type​的HTTP请求体,这主要依赖于HttpMessageCo... 目录一、核心机制:HttpMessageConverter​二、按Content-Type​处理详解1.

Spring Boot 常用注解详解与使用最佳实践建议

《SpringBoot常用注解详解与使用最佳实践建议》:本文主要介绍SpringBoot常用注解详解与使用最佳实践建议,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、核心启动注解1. @SpringBootApplication2. @EnableAutoConfi

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

Python与Java交互出现乱码的问题解决

《Python与Java交互出现乱码的问题解决》在现代软件开发中,跨语言系统的集成已经成为日常工作的一部分,特别是当Python和Java之间进行交互时,编码问题往往会成为导致数据传输错误、乱码以及难... 目录背景:为什么会出现乱码问题产生的场景解决方案:确保统一的UTF-8编码完整代码示例总结在现代软件

Java 如何创建和使用ExecutorService

《Java如何创建和使用ExecutorService》ExecutorService是Java中用来管理和执行多线程任务的一种高级工具,可以有效地管理线程的生命周期和任务的执行过程,特别是在需要处... 目录一、什么是ExecutorService?二、ExecutorService的核心功能三、如何创建