文本域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();
}
}