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

案例运行结果如下

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

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

    package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; ...

  2. JAVA学习Swing章节标签JLabel中图标的使用

    package com.swing; import java.awt.Color; import java.awt.Component; import java.awt.Container; impo ...

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

    package com.swing; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.JButton ...

  4. 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习

    嘿嘿,我来啦,最近忙啦几天,使用MVC把应该实现的一些功能实现了,说起来做项目,实属感觉蛮好的,即可以学习新的东西,又可以增加自己之前知道的知识的巩固,不得不说是双丰收啊,其实这周来就开始面对下载在挣 ...

  5. java代码swing编程JPaswordField类

    总结:JPasswordField类是JTextField类的子类.用户在JPasswordField对象中输入的字符会被其他的字符替代 而挡住,JPasswordFiled组件主要用来输入口令 pa ...

  6. (转)Java 的swing.GroupLayout布局管理器的使用方法和实例

    摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...

  7. 《Java程序设计与数据结构教程(第二版)》学习指导

    <Java程序设计与数据结构教程(第二版)>学习指导 欢迎关注"rocedu"微信公众号(手机上长按二维码) 做中教,做中学,实践中共同进步! 原文地址:http:// ...

  8. 你也可以用java的swing可以做出这么炫的mp3播放器_源码下载

    I had published the blog : 你用java的swing可以做出这么炫的mp3播放器吗? and to display some screenshots about this M ...

  9. 你用java的swing可以做出这么炫的mp3播放器吗?

    这个mp3播放器是基于java的swing编写的,我认为界面还是可以拿出来和大家看一看评一评. 先说说创作的初衷,由于前段时间工作不是很忙,与其闲着,还不如找一些东西来给自己捣腾捣腾,在 之前写的 j ...

随机推荐

  1. Selenium2+python自动化9-CSS定位语法

    前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css ...

  2. 本地缺Android SDK版本20,Unable to resolve target 'android-20'

    解决方案一 本地缺Android SDK版本20,Unable to resolve target 'android-20' 通过SDK Manager安装一个Android 20. 解决方案二: L ...

  3. java 小知识

    public static void main(String[] args) { System.out.println( getMonthStart()); System.out.println( g ...

  4. POJ3694 Network

    题目大意:已知连通图G有N个点m条无向边,有Q次操作,每次操作为增加一条边,问每次操作后图上有几个桥. 如果添加一条边进行Tarjin搜索一次时间复杂度为m*m*q很大,会超时.真的超时,我试过.看了 ...

  5. hdu4738 Caocao's Bridges

    http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意:曹操赤壁之战大败,于是卷土重来.为了避免水上作战,他在长江上建立了一些岛屿,这样他的士兵就可以在 ...

  6. [刘阳Java]_Java技术有哪些学习重点_第1讲

    纵观网上有很多非常好的对Java技术的总结,这里我个人谈谈对Java技术学习有哪些重点内容[浮浅之见] Java环境搭建 Java基础语法 Java面向对象编程 Java异常 Java IO流 Jav ...

  7. Delphi inline编译器优化问题

    function Test():Integer; inline; var P:Pointer; begin FreeMem(P); Result := AtomicIncrement(__gr); / ...

  8. 谷歌身份验证器加强Linux帐户安全

    下载 Google的身份验证模块 # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...

  9. [PHP]Yaf + composer 引起大幅性能下降

    composer.json 文件可以用命令 composer init 创建,命令是交互式的. 也可以直接编辑一个 json 文件,如下: repositories 中 url 使用中国全量镜像地址. ...

  10. C++变量的左值和右值

    变量和文字常量都有存储区,并且有相关的类型. 区别在于变量是寻址的,对于每一个变量,都有两个值与其相关联 1  它的数据值,存储在某个内存地址中.有时这个值也被称为对象的右值 文字常量和变量都可被用作 ...