一.基础知识

1.Swing特点

(1)AWT(Abstract Windows Toolkit)与Swing都是java用于实现图形用户界面的类库,Swing是JFC的一部分,它在技术与功能上都比AWT迈进了一大步,与AWT相比,swing有以下特点:

①Swing组件是由纯Java实现的,具有很好的平台移植性,在不同的操作系统看到的界面风格一样,我们称为轻量级组件。

②MVC界面组件设计模型在Swing组件中使用

③Swing组件都是Bean

④大多数情况下,在旧的AWT组件前面加一个“J”即为Swing组件

2.java小程序的运行例子与分析

(1)程序代码运行

(2)程序代码

package myapplet;
import javax.swing.*;
public class FirstApplet {public static void main(String[] args){JFrame frame=new JFrame("标题名称");//JFrame新建一个窗口frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);当关闭窗口时会退出整个程序frame.setSize(400, 300);frame.setVisible(true);}
}

二.Swing中的容器

1.概述:

swing比awt更加强调容器的概念,容器中可以再放置容器,也可以放组件,各容器使用时应设置布局。swing共有如下几个容器:JApplet,JDialog,JRootPane,JFrame,JWindow,JPanel,JScrollPane,JSplitPane,JTabbedPane,JToolBar,JLayerPane,JInternalFrame

2.首层容器JFrame

(1)概念:

首层容器可以是JApplet,JDialog,JFrame,JWindow四种之一,表示一个容器

(2)代码:

//创建一个窗口
JFrame 自定义的窗口名称=new JFrame("窗口标题");
自定义的窗口名称.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当关闭窗口时会退出整个程序
自定义的窗口名称.setSize(宽度,高度);//设置窗口的大小
自定义的窗口名称.setVisible(true);//设置窗口为可见窗口

例如:其中JFrame frame=new JFrame("标题名称");的JFrame可省略

//创建一个窗口
JFrame frame=new JFrame("标题名称");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);

3.容器JPanel

(1)概念:

JPanel:表示一个容器,也称为面板,控件应该放在面板里

(2)代码

//先设置一个容器
JPanel 自定义的容器名称=new JPanel();
自定义的容器名称.setBackground(背景色名称);
自定义的窗口名称JFrame.setContentPane(自定义的容器名称);//将定义的容器放进窗口里面件
//设置为JPanel容器为手工布局
自定义的容器JPanel名字.setLayout(null);

例如:

//设置容器JPanel命名为contenPane
JPanel contentPane = new JPanel();
contentPane.setBackground(SystemColor.inactiveCaption);//设置背景颜色
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
this.setContentPane(contentPane);//将容器装进首层容器JFrame里面
//设置不使用布局器,进行手工布局
contentPane.setLayout(null);

4.JLayeredPane层级面板

(1)概念:

用来放置控件的容器

(2)使用

//添加级层面板,放于JPanel面板
JLayeredPane 自定义的底层面板名称=new JLayeredPane();
自定义的级层面板名称.setBounds(0, 0, 550, 400);
自定义的容器JPanel名称.add(layeredPane);//将layeredPane放进容器JPanel里面

5.BorderLayout边界布局器

(1)概念:

将容器分为东,西,南,北,中5个区域

(2)使用

//1.设置一个新的布局器
自定义的容器JPanel名字.setLayout(new BorderLayout());
/*2.添加子控件,要指定方位NORTH北,SOUTH南,WEST西,EAST东,CENTER中央
*/
自定义的容器JPanel名字.add(子控件新定义的名字,BorderLayout.NORTH);
自定义的容器JPanel名字.add(子控件新定义的名字,BorderLayout.SOUTH);
/*3.尺寸调节
①center中央区域,总是占满中央位置,是不能调节的
②NORTH/SOUTH上下:宽度占满写多少都可以,高度由setPreferredSize()决定
③WEST/EAST左右:高度占满写多少都可以,宽度由setPreferredSize()决定
*/
自定义的子控件名字.setPreferredSize(new Dimension(宽度,高度));

5.JavaSwing知识点----(1)swing中的容器相关推荐

  1. java swing 图片容器_Java Swing中两种设置背景图(容器图片)

    在java swing中需要为容器添加图片,或者背景图片. 提供两种简单的解决方案,一种利用JPanel,另一种利用JLabel 1.JPanel(源代码) package oo; import ja ...

  2. java集合刷新面板_java Swing 中 面板刷新的问题。。求指教 。 高手在哪里啊。。。...

    javaswing中repaint()刷新面板的问题 求指教...代码如下:运行后点击按钮1,面板没刷新,需要缩放面板才能看到新的面板.我用计时器或则线程来调用repaint(),好像都没... ja ...

  3. java中的容器问题

    小小的总结一下java中的容器问题. 一.三个知识点 1.迭代器 1).java.util.Interator + hasnext(); next(); remove(); 2).java.lang. ...

  4. java jinternalpanel_java swing中JPanel的布局问题

    java swing中JPanel的布局问题 关注:92  答案:3  信息版本:手机版 电脑版 解决时间 2021-01-17 16:07 提问者侢遇噹姩揂 2021-01-17 09:36 我在f ...

  5. 使用ssh连接到centos7中docker容器

    docker现在越来越流行,接下来为大家介绍一下如何使用ssh连接docker. 任务 使用ssh连接到centos7中docker容器 实验步骤 因为docker中容器的ip通常来说是和真机以及ce ...

  6. STL中基本容器有: string、vector、list、deque、set、map

    为什么80%的码农都做不了架构师?>>>    在STL中基本容器有: string.vector.list.deque.set.map set 和map都是无序的保存元素,只能通过 ...

  7. C++中map容器的说明和使用技巧

    C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 1   头文件 #include <map> 2   定义 map< ...

  8. docker 查看已安装容器_docker中的容器安装PHP扩展件

    案例:memcached是一个php的缓存扩展,通过它把数据库的查询结果缓存在内存中,而内存的读写速度比SSD还要快几十倍,解决了硬盘缓存速度的瓶颈,加快服务器网页加载速度.流程: 一.前期构建PHP ...

  9. Swing中事件的三种处理方法

    2019独角兽企业重金招聘Python工程师标准>>>  Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的强大工具.Java Swing组件自 ...

最新文章

  1. Shell脚本详细介绍
  2. 手把手教你搭建用户画像,数据分析效率提升百倍
  3. CATALINA_BASE与CATALINA_HOME的区别
  4. xpe低配置系统解决“写缓存失败”问题
  5. caged系统pdf_热电材料的应用和研究进展.pdf
  6. camera link
  7. 程序员制作epub电子书
  8. Word 之 清除页眉下划线
  9. QTreeWidget实现搜索子节点功能
  10. 营养不良和口服万古霉素对人体肠道菌群和营养吸收的影响
  11. 阿木社区的SLAM无人机硬件配置
  12. Java MyShopping管理系统 > 购物结算+管理系统
  13. Java语言GUI实现计算器
  14. Linux ——objdump和readelf的使用
  15. 17 geth客户端了解和安装
  16. VSCode——设置VSCode背景图片
  17. windows下通过uiAutomation技术获取ui元素
  18. 计算机打开及关闭软件教案,计算机操作与应用教案.doc
  19. 借个铭宣9800GT与4850玩混交
  20. C#如何计算两个日期的相差多少天

热门文章

  1. 联想x3650服务器安装硬盘,IBM x3650 M2服务器系统安装攻略(组图)
  2. vnc远程无法关闭窗口_VNC远程显示3D界面
  3. 微信小游戏直播在Android端的跨进程渲染推流实践
  4. cmd黑客入侵命令大全
  5. 最新国内云计算服务商市场占有率排名,阿里云腾讯云华为云谁排名高
  6. 双软企业税收优惠政策
  7. 汇编语言中的[...]和(...)
  8. Android客户端与PHP服务端API接口Token安全验证
  9. 虚拟文字内容、图片、头像生成工具
  10. 《计算之魂》思考题4.4