Swing作为AWT组件的“强化版”,它的产生主要是为了克服AWT构建的GUI,无法在所有平台都通用的问题。允许编程人员跨平台时指定统一的GUI显示风格也是Swing的最大优势。Swing是AWT的补充,而非取代者。

以下是Swing包的层次结构和继承关系。

javax.swing

Class JComponent

  • All Implemented Interfaces:
    ImageObserverMenuContainerSerializable
    Direct Known Subclasses:
    AbstractButtonBasicInternalFrameTitlePaneBoxBox.FillerJColorChooserJComboBoxJFileChooserJInternalFrameJInternalFrame.JDesktopIconJLabelJLayerJLayeredPaneJListJMenuBarJOptionPane,JPanelJPopupMenuJProgressBarJRootPaneJScrollBarJScrollPaneJSeparatorJSliderJSpinnerJSplitPaneJTabbedPaneJTableJTableHeaderJTextComponentJToolBarJToolTipJTreeJViewport
    Swing容器主要有两种,即Window和panel,window窗口又分成两种:JFrame(窗体)和Jdialog(对话框),panel面板又有两种:JPanel面板和JScrollPane(带滚动条)的面板。JPanel必须放入到JFrame这样的顶级容器中使用,可以说JPanel是为了更为精致的布局。

    窗口的编程实现步骤:
    1、继承Jframe类(Jdialog类)
    2、实例化一个Jframe对象(Jdialog对象),并调用getContentPane()方法将窗体转化成容器;
    3、设置对象的各项参数(窗体大小等),设置关闭方式(如果不设置,默认为windows常规关闭方式),完成窗口的实现。

    下面,我们看一个简单的例子。

    public class Jlayout extends JFrame{
    public void CreateJframe(String title){
    JFrame jf=new JFrame(title);//实例化一个窗体对象
    Container ct=jf.getContentPane();//将窗体转化成容器
    //JLabel jl=new JLabel("JFrame窗体示例");//
    //jl.setHorizontalAlignment(SwingConstants.CENTER);//设置标签文字的对齐方式
    //ct.add(jl);//将标签添加到容器中
    ct.setBackground(Color.white);//设置背景色
    //ct.setLayout(null);
    jf.setVisible(true);
    jf.setSize(200, 150);//设置大小
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    JButton bt=new JButton("点我啊");//定义一个按钮
    bt.setHorizontalAlignment(SwingConstants.CENTER);
    bt.setBounds(10, 10, 100, 21);
    bt.addActionListener(new ActionListener(){//(new ActionLinstener(){
    public void actionPerformed(ActionEvent e){
    new Jd(Jlayout.this).setVisible(true);
    }
    });
    ct.add(bt);
    }

    class Jd extends JDialog{
    public Jd(Jlayout frame){
    super(frame,"对话框",true);
    Container ct=getContentPane();
    ct.add(new JLabel("让你点你就点啊"));
    setBounds(120,120,100,100);
    }
    }

    public static void main(String args[]){
    new Jlayout().CreateJframe("");
    }

    }


Swing编程概述的更多相关文章

  1. 【WCF--初入江湖】01 WCF编程概述

    01 WCF编程概述 SOA的优点 1.服务独立于平台和工作环境.服务并不关心自己所处的环境,也不关心与之进行通信的服务所处的    环境. 2.服务相互隔离. 3.服务对协议.格式和传输中立. 4. ...

  2. Android网络编程概述

    Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包 ...

  3. 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条

    http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程 ...

  4. [C#] 《Concurrency in C# Cookbook》读书笔记(一)- 并发编程概述

    并发编程概述 前言 我们经常在耳边听说一些关于高性能.并发和并行等名词,并且很多人都对并发编程有一些误解. 误解 1:并发就是多线程? 答:多线程只不过是并发编程的其中一种形式而已.并发编程的种类很多 ...

  5. C# 图解教程 第二章 C#编程概述

    C#编程概述 一个简单的C#程序标识符关键字Main:程序的起始点从程序输出文本注释 C#编程概述 一个简单的C#程序 标识符 标识符是一种字符串,用来命名变量.方法.参数和许多后面将要阐述的其他程序 ...

  6. Java Swing 编程 JComboBox 显示不全问题。

    最近在做Java Swing编程一个小例子.然后遇到JComboBox 宽度固定,而下拉列表比较长,导致显示不全的问题. 解决的思路想到两种,1:下拉列表当显示不全的时候,换行显示.2:在下拉列表停几 ...

  7. 并发编程概述--C#并发编程经典实例

    优秀软件的一个关键特征就是具有并发性.过去的几十年,我们可以进行并发编程,但是难度很大.以前,并发性软件的编写.调试和维护都很难,这导致很多开发人员为图省事放弃了并发编程.新版.NET 中的程序库和语 ...

  8. Windows Embedded Compact 7网络编程概述(下)

    11.1.1 Select I/O模型 在Windows CE中,Select模型是唯一被支持的I/O模型.Select I/O模型就是利用select函数对I/O进行管理. 函数select的功能在 ...

  9. java中Swing编程再度练习篇

    总结: 注意理解frame的层级关系 package com.da; //添加背景图片 //我只实现了插入图片.但并没有实现是背景图片 import javax.swing.JFrame; impor ...

随机推荐

  1. RMAN兼容性、控制文件自动备份、保存时间、备份策略、备份脚本(二)

    RMAN 程序的兼容性 RMAN 环境由以下5部分组成:(1) RMAN executable(2) Recovery catalog database(3) Recovery catalog sch ...

  2. 一个节点rac+单节点dg网络配置(listener.ora与tnsnames.ora)

    环境说明:  实验环境是 一个节点的 rac + 单机dg    (主备全部用asm存储) tnsnames.ora  文件  (oracle用户) node 1 : node1-> pwd / ...

  3. Java创建线程的三种方法比较

    一般有三种方法,Thread,Runnable,Callable. Runnable和Callable的区别 (1)Callable规定的方法是call(),Runnable规定的方法是run(). ...

  4. Java 打包成exe安装包

    1.在eclipse中导出Runnable JAR file 2.选择主函数所在的类和输出位置后finish: 3.这里选择的打包工具是exe4j,在网上找序列号注册一下,否则在打完后在exe运行时, ...

  5. web API请求与参数获取

    总结webAPI的常用请求方法与后台参数的获取: 一:get请求:(会将所以参数拼接到URL里面) 1:基础类型:string  a=“hello” , 前端无论你是写到ajax里面的data属性还是 ...

  6. Oracle SQL调优之分区表

    目录 一.分区表简介 二.分区表优势 三.分区表分类 3.1 范围分区 3.2 列表分区 3.3 散列分区 3.4 组合分区 四.分区相关操作 五.分区相关查询 附录:分区表索引失效的操作 一.分区表 ...

  7. PHP中GD库是做什么用的? PHP GD库介绍11111111

    什么是gd库?    gd库是php处理图形的扩展库,gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片. 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据 ...

  8. 洛谷P1655 小朋友的球(Stirling数)

    P1655 小朋友的球 题目描述 @发源于 小朋友最近特别喜欢球.有一天他脑子抽了,从口袋里拿出了N个不同的球,想把它们放到M个相同的盒子里,并且要求每个盒子中至少要有一个球,他好奇有几种放法,于是尝 ...

  9. [Xcode 实际操作]六、媒体与动画-(11)UIView视图卷曲动画的制作

    目录:[Swift]Xcode实际操作 本文将演示UIView视图卷曲动画的制作. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit cla ...

  10. Spring Boot Dubbo 构建分布式服务

    概述: 节点角色说明 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数 ...