JAVA学习Swing章节JPanel和JScrollPane面板的简单学习

package com.swing;

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

/**
 * 1:常用面板
 * 面板也是一个Swing容器,他可以看作为容器容纳其他组件,但它也必须被添加到其他容器中
 * Swing中常用的面板包括JPanel面板和JScrollPane面板
 *
 * 2:JPanel面板可以聚集一些组件来布局
 * 读者首先应该明白面板也是一种容器,因为它继承了java.awt.Container类
 * @author biexiansheng
 *
 */
public class JPanelTest extends JFrame{

    public JPanelTest(){
        Container container=getContentPane();//设置一个容器

        //将整个容器设置为2行1列的网格布局     网格布局管理器x,y代表行和列
        container.setLayout(new GridLayout(2,1,10,10));

        //初始化一个面板,设置1行3列的网格布局
        JPanel p1=new JPanel(new GridLayout(1,3,10,10));
        JPanel p2=new JPanel(new GridLayout(1,2,10,10));
        JPanel p3=new JPanel(new GridLayout(1,2,10,10));
        JPanel p4=new JPanel(new GridLayout(2,1,10,10));

        //在面板中添加按钮
        p1.add(new JButton("1"));
        p1.add(new JButton("2"));
        p1.add(new JButton("3"));
        p2.add(new JButton("4"));
        p2.add(new JButton("5"));
        p3.add(new JButton("6"));
        p3.add(new JButton("7"));
        p4.add(new JButton("8"));
        p4.add(new JButton("9"));

        //最重要的一步,将面板实例添加到容器中
        container.add(p1);
        container.add(p2);
        container.add(p3);
        container.add(p4);

        //将容器外部特性实例化
        setTitle("JPanel面板的案例");
        setSize(400,250);//设窗体的大小     宽和高
        setVisible(true);//设定窗体的可视化
        //设置窗体的关闭方式
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JPanelTest jt=new JPanelTest();
    }

}

案例运行结果如下

package com.swing;

import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;

/**
 * 1:设置界面时,可能会遇到在一个较小的容器窗体中显示一个较大部分的内容的情况,这时
 * 可以使用JScrollPane面板
 *
 * 2:JScrollPane面板是带滚动条的面板,它也是一个面板,但是JScrollPane只能
 * 放置一个组件,并且不可以使用布局管理器
 *
 * 3:如果需要在JScrollPane面板中放置多个组件,需要将多个组件放置在JPanel面板上,
 * 然后将JPanel作为一个整体组件添加到JScrollPane组件上。
 *
 * 4:从本实例可以得到在窗体中创建一个带滚动条的文字编辑器,首先需要初始化编辑器,
 * 并且在初始化时完成编译器的大小指定,当创建带滚动条的面板时,将编译器加入面板中
 * ,最后将带滚动条的编译器放置在容器中即可
 * @author biexiansheng
 *
 */
public class JScrollPaneTest extends JFrame{
//导入包的快捷键 shift+ctrl+o
    public JScrollPaneTest(){//定义一个构造方法
        Container container=getContentPane();//创建一个容器

        //创建文本区域组件
        JTextArea ta=new JTextArea(20,50);

        //创建JScrollPane()面板对象,并将文本域对象添加到面板中
        JScrollPane sp=new JScrollPane(ta);

        //将该面板添加到该容器中
        container.add(sp);

        //设置容器的外部特性
        setTitle("带滚动条的文字编辑器");//设置窗口的标题文字
        setSize(400,400);//设置窗口的大小
        setVisible(true);//设置可视化
        //设置窗口的关闭方式
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JScrollPaneTest jp=new JScrollPaneTest();
    }

}

案例运行结果如下

时间: 2024-10-29 11:51:40

JAVA学习Swing章节JPanel和JScrollPane面板的简单学习的相关文章

JAVA学习Swing章节按钮组件JButton的简单学习

package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; import javax.swing.Icon; import javax.swing.ImageIcon;

JAVA学习Swing章节流布局管理器简单学习

package com.swing; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:流(FlowLayout)布局管理器是布局管理器中最基本的布局管理器,流布局管理器在整个容器中 * 的布局正如其名,像流一样从左到右摆放组件,直到占据了这

java 的swing的一个问题,有关滚动条的 jscrollpane

问题描述 java 的swing的一个问题,有关滚动条的 jscrollpane 我在一个面板上面放上了许多jpanel多到屏幕放不下,就是多余的部分显示不了,jframe和jpanel都试过了,然后我想到用一个滚动条可以使所有的内容都可以看到,但是我使用了jscrollpane和jscrollbar都没有做好,结果是窗体的内容全部都看不见了,,那这个滚动条该怎么加入,用哪个, 解决方案 JTextArea area = new JTextArea();JScrollPane scrollPan

java-关于Java的Swing程序问题

问题描述 关于Java的Swing程序问题 运行这个Java程序的时候容器网格设置为3行3列,为什么运行的时候只有两列,而且第四个面板大小与其他三个不同? 解决方案 第一个问题,你的结果之所以不是3行3列, GridLayout(3,3)布局时,设定的列数只有在行数为0时才起作用:当行数不为0时,列数是由行数和添加的布局组件总数决定的.比如,你的程序里面,行数为3,布局组件总数为4,那么列数将被确定为2,所以,你会看到运行之后的布局. 第二个问题,你的p4有两行,所以就是这样的效果了. 修正代码

Java的Swing编程中使用SwingWorker线程模式及顶层容器_java

使用SwingWorker线程模式 谨慎地使用并发机制对Swing开发人员来说非常重要.一个好的Swing程序使用并发机制来创建不会失去响应的用户接口-不管是什么样的用户交互,程序总能够对其给出响应.创建一个有响应的程序,开发人员必须学会如何在Swing框架中使用多线程. 一个Swing开发人员将会与下面几类线程打交道: (1)Initial threads(初始线程),此类线程将执行初始化应用代码. (2)The event dispatch thread(事件派发线程),所有的事件处理代码在

java基于swing实现的连连看代码_java

本文实例讲述了java基于swing实现连连看代码.分享给大家供大家参考. 主要功能代码如下: 复制代码 代码如下: package llkan; import javax.swing.*; import java.awt.*; import java.awt.event.*; /**  * 连连看游戏  * @author Administrator  *2014年10月17日  */ public class MainGame implements ActionListener {     

Java基于Swing实现的打猎射击游戏代码_java

本文实例讲述了Java基于Swing实现的打猎射击游戏代码.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: package Game; import java.awt.Graphics; import java.awt.Image; import javax.swing.JPanel; public class BackgroundPanel extends JPanel {         private static final long serialVersionUID

初步学习Swing

一直就想学习java的桌面编程,可惜直到现在因为是在unix上的原因并不需要java程序有界面,不过自己还是想好好学习学习.所以从今天开始总结经验: 1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;4 5 public class ToolbarFrame2 extends Frame {6 7   // 使用Swing组件8   JButton cutButton, copyButton, pasteBu

求大神回答 java的swing题目

问题描述 求大神回答 java的swing题目 1.创建项目Lab37,添加类MainFrame,继承自JFrame,实现ActionListener接口. 2.添加以下成员属性 a)JTree类型的treeDir b)String类型的dirName c)JSplitPane类型的sp d)JTable类型的fileInfo 3.构造方法 a)设置标题为"文件信息查看器" b)创建工具栏,并添加一个"打开"按钮.注册按钮事件监听对象为this c)构造一个只有一个