文本域JScroll面板(Java面板基础:JPanel和JScrollpane的应用区别 )


文本域JScroll面板


JPanel和JScrollpane的应用区别

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

JPanel

面板是一种通用容器,JPanel的作用是实现界面的层次结构,在它上面放入一些组件,也可以在上面绘画,将放有组件和有画的JPanel再放入另一个容器里。JPanel的默认布局为FlowLayout。

面板处理程序的基本内容有以下几个方面:

通过继承声明JPanel类的子类,子类中有一些组件,并在构造方法中将组件加入面板。

声明JPanel子类对象。

创建JPanel子类对象。

将JPanel子类对象加入到某个容器。

JPanel类的常用构造方法有:

JPanel(),创建一个JPanel对象。

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

JPanel对象添加组件的方法:

add(组件),添加组件。

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

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对象放置于窗口中。

package com.Hailin.lesson05;

import com.Hailin.lesson04.JFrameDemo;

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

public class JScrollDemo extends JFrame {
    public JScrollDemo() {
        Container container = this.getContentPane();
        //文本域
        JTextArea textArea = new JTextArea(20, 50);
        textArea.setText("欢迎学习文本域");
        //Scroll面板
        JScrollPane scrollPane = new JScrollPane(textArea);
        container.add(scrollPane);
        this.setVisible(true);
        this.setBounds(300,300,300,300);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

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

JFrame 和JPanel 的关系-区别(学习笔记)

在学习图形用户界面的时候,搞清楚 JFrame 和 JPanel是非常关键的下面分别给出两个例子加以区分 JFrame 的使用:

 java.awt.*javax.swing.*Frame1 {
    (String[] args) {
        JFrame f = JFrame();
        f.setSize();
        f.setVisible()}
}

Jpanel 的使用:

java.awt.*javax.swing.*Frame2 {
    (String[] args) {
        JFrame f = JFrame();
        f.setSize();
        JLabel x = JLabel();
        f.getContentPane().add(x);
        f.setVisible()}
}

JFrame用来做主页面框架也可以用来做顶级窗体,要想把控件放在该界面中,必须把控件放在JPanel中,然后再把JPanel放在JFrame中,JPanel作为一个容器使用。Jpanel是一个静态控制组件,可以用来显示一行静态信息,不能接受用户的输入。它必须放在象JFrame这样的顶级窗口上才能输出。JFrame是最底层,JPanel是置于其面上,同一个界面只有一个JFrame,一个JFrame可以放多个JPanel。如果你直接在JFrame上放也可以,但是首先不规范,然后要是过于复杂的界面你准备如何处理这么多控件呢?你可以写个复杂的界面,应该就可以感受到这种区别了,JPanel只是普通页面JPanel可以放在JFrame中,反之不行
在实际应用的过程中一般的用法为:

java.awt.*javax.swing.*Frame4a {
    (String[] args) {
        JFrame f = JFrame();
        JLabel L = JLabel();
        JPanel P = JPanel();
        P.add(L);
        f.getContentPane().add(P);
        f.setSize()f.setVisible()}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三横同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值