Swing学习1——总体概述

以下来自于JDK1.6

一、Swing学习我划分为两个方面:

    一方面Swing的界面设计部分,包括相关组件类的继承关系,组件的功能用途,布局管理;

     1.首先继承关系上自上而下为

      java.lang.Object

        java.awt.Component

          java.awt.Container

            javax.swing.JComponent(窗体中的各种组件工具类继承自此类,与AWT组件结构大部分相同)

            java.awt.Window

              javax.swing.JWindow(窗口)

              java.awt.Frame

                javax.swing.JFrame(框架)

              java.awt.Dialog

                javax.swing.JDialog(对话框)

         Window下包含了三种顶层容器:顶层容器一共四种:JFrame(框架),JDialog(对话框),JWindow(窗口),和JApplet(JApplet与Java中Applet程序有关几乎已弃用)。

                          顶层容器分为四层自上而下为glass pane(玻璃面板),content pane(内容面板)和meun bar(菜单栏),

                          layered pane(分层面板),root pane(根面板),其中简单界面设计主要设计内容面板和菜单栏这一层次。

      JComponent下包含了各种容器的组件以及

            八种中间容器:JPanel(面板),JScrollPanel(滚动面板),JOptionPane,JSplitPane,JTabbedPane,JInternalFrame,JToolBar(直接继承自Component)

                    JDesktopPane(直接继承自JLayeredPane,间接继承Component)

                   中间容器注解:中间容器的作用容纳组件

            两种特殊容器:JLayeredPane(分层面板,容纳内部框架),JRootPane(根框架),(有且仅有的两个特殊容器继承自Component)

      2.组件的功能用途

       JButton等此处暂不写了,有兴趣的可以查看API

     3.常用布局管理器

      绝对布局:首先用Container.setLayout(null)取消默认布局管理器

            然后用Component的setBounds(int x,int y,int width,int height)方法设置每个组件大小及位置即可。

      流布局管理器(FlowLayout)

      边界布局管理器(BorderLayout):在不指定窗体布局的情况下,默认Swing组件的布局模式为边界布局管理器

      网格布局管理器(GridLayout)

  第二部分关于事件处理的,后续补充

 

转载于:https://www.cnblogs.com/Sword007/p/9816146.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

装饰设计模式和例题

文件复制程序: 将一个文件复制一份出来,实现方法很简单,使用FileInputStream读取文件内容,然后使用FileOutputStream写入另一个文件,利用read方法的返回值作为while循环的条件,进行一边读一边写。 代码示例…

mysql操作手册我_MySQL使用指南一

我将MySQL常用指令整理出来分享给大家。1. 列出所有数据库mysql> show databases;2. 创建数据库mysql> create databases MyStorage;3. 打开数据库mysql> use MyStorage;4. 创建表mysql> create table Storage-> (-> id int,-> name varchar(50),-> pr…

谷歌地图将很快显示电动汽车充电站

If you’re out on the road in the future and find your electric vehicle is in dire need of a charge, you’ll soon be able to look to Google Maps for help finding a charging station. 如果您将来出门在外,并且发现您的电动汽车急需充电,那么…

JS4

1. js的本质就是处理数据。数据来自于后台的数据库。 所以变量就起到一个临时存储数据的作用。 ECMAScript制定了js的数据类型。 数据类型有哪些? 字符串 String数字 Number布尔 BooleanNull 空Undefined Object 对象Array 数组 json function …

ovirt官方安装文档 第三章

第3章:安装oVirt 安装oVirt引擎包 在您可以配置和使用oVirt引擎之前,您必须安装 rhevm 包和依赖关系。 安装oVirt引擎包 在开始安装oVirt之前,添加官方仓库: # yum install http://resources.ovirt.org/pub/yum-repo/ovirt-releas…

mysql获取查询策略语句_MySQL数据库查询性能优化策略

优化查询使用Explain语句分析查询语句Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。通过对查询语句的分析,可以了解查询语句的执行情况,找出查询语句执行的瓶颈,从而优化查询语句.使用索引查询MySql中提高性能的一个最有效的…

松弛变量可以为负吗_如何为松弛安装(非官方)暗模式

松弛变量可以为负吗Slack still doesn’t have a dark mode. They have dark themes, but those only let you customize the sidebar colors, leaving the main window white. With the release of system-wide dark modes on macOS Mojave and Windows 10, Slack feels very …

如何使用系统自带的日志转储功能logroate.存放应用日志

Linux日志服务介绍 1. 在Linux系统,大部分日志都是由syslog日志服务驱动和管理的 syslog服务由两个重要的配置文件控制管理,分别是/etc/syslog.conf主配置文件和/etc/sysconfig/syslog辅助 配置文件, /etc/init.d/syslog是启动脚本…

shell 多行注释

:<<BLOCK 中间为要注释的内容 BLOCK转载于:https://www.cnblogs.com/S--S/p/9817660.html

natcat for mysql_用Navicat for mysql连接mysql报错1251-解决办法

TP框架连接mongodb报错及解决办法mongodb版本3.4.7 1.认证错误:Failed to connect to: localhost:27017: Authentication failed on database test ...Loadrunner参数化连接oracle、mysql数据源报错及解决办法Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是…

如何在Mac上设置FaceTime

FaceTime is Apple’s built-in video and audio calling app. It pairs with your iPhone and allows you to make phone calls on macOS. FaceTime是Apple的内置视频和音频通话应用程序。 它可以与iPhone配对使用&#xff0c;并允许您在macOS上拨打电话。 You don’t need an…

移动视频技术

在语音通信已得到教育、医疗、社交、电子商务等多个领域的移动应用和充分发展的今天&#xff0c;人们已不满足于仅依靠语音电话来传达信息。开发者都需要结合自身业务场景在其产品中嵌入语音聊天、视频通话、语音对讲等实时通话功能。但较高的技术门槛和开发成本成为普通开发者…

hashlib 模块用来进行hash

hashlib的基本概述&#xff1a; python中的 hashlib 模块用来进行hash 或者md5加密&#xff0c;而且这种加密是不可逆的&#xff0c;所以这种算法又被称为摘要算法&#xff0c; 其支持Opennssl库提供的所有算法&#xff0c;包括 md5、sha1、sha224、sha256、sha512 等。 hash是…

在Ubuntu 11.10中将窗口按钮移回右侧

As of Ubuntu 10.04, the minimize, maximize, and close buttons on all windows were moved to the left side and the system menu was removed. Prior to version 11.10, you could use several methods to restore the original button arrangement. 从Ubuntu 10.04开始&a…

java测试开发_测试开发系类之Java常用知识点

测试需要的两门语言&#xff1a;Java&#xff0c;Python测试开发&#xff1a;开发测试脚本->开发测试框架Java需要掌握内容&#xff1a;基础语法、Java面向对象相关概念、Java常用类、基础测试框架Java常用类&#xff1a;IO相关类&#xff0c;包括&#xff1a;字节流InputSt…

kafka 服务端消费者和生产者的配置

在kafka的安装目录下&#xff0c;config目录下有个名字叫做producer.properties的配置文件 #指定kafka节点列表&#xff0c;用于获取metadata&#xff0c;不必全部指定 #需要kafka的服务器地址&#xff0c;来获取每一个topic的分片数等元数据信息。 metadata.broker.listkafka0…

如何在Windows 10上使用触摸板手势

If you’ve used a touchpad in Windows 10, you’re no doubt aware of the basic single-finger tapping and two-finger scrolling gestures. Windows 10 also packs in some additional gestures you might not have tried. 如果您在Windows 10中使用了触摸板&#xff0c;那…

java全栈开发工程师_谈谈我对Java(J2EE)全栈工程师的理解

很多刚从事Java开发的同学都有一个疑问&#xff0c;到底是向全栈式程序员方向发展还是做精通某种技术的专才&#xff1f;对于这个问题也是见仁见智。 在给出我的观点之前&#xff0c;我们先来分析一下全栈工程师的种类和专才的种类 &#xff0c;之后关于这个问题的答案就很清楚…

多网卡命名规则

使用iptables做nat路由&#xff0c;需要几张网卡&#xff0c;以下命令很有用 1.首先你要先确认你系统加载的网卡&#xff0c;lspci|grep -i eth,如果出现unknow情况或者未识别&#xff0c;最好换网卡&#xff0c;或者是驱动没有加载&#xff0c;需要到/lib/modules的子目录driv…

相机模拟光圈_我的相机应该使用什么光圈?

相机模拟光圈Aperture, along with shutter speed and ISO, is one of the three most important settings you control when you take a photo. It affects both the amount of light that hits your camera sensor and the depth of field of your images. Let’s look at ho…