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. resiprocate使用入门:内网搭建基于repro的sipproxy测试环境

    测试环境 sipproxy:repro + centos 客户端:windows电脑客户端使用X-Lite,手机andriod客户端使用linphone repro配置和启动 log的配置 如果使用默 ...

  2. javascript中原型链存在的问题

    我们知道使用原型链实现继承是一个goodway:)看个原型链继承的例子. function A () { this.abc = 44; } A.prototype.getAbc = function ...

  3. 动态库*.so制作

    转自:http://www.2cto.com/os/201308/238936.html 在linux下制作动态库*.so.   1.linux下动态库的制作 //so_test.h #include ...

  4. 卸载 Ubuntu gnome 自带的 Videos, Browser, Document Viewer等

    卸载命令 # uninstall Browser sudo apt-get remove --purge webbrowser-app # uninstall Videos sudo apt-get ...

  5. openStack cinder 在往虚拟机上挂载云磁盘时总是提示挂在错误 最后找到原因原来是指定挂载云磁盘的虚拟机被锁定

    openStack 虚拟机的锁定功能是一个为了保护虚拟机 被误删除的一项创新共! 在VMs锁定状态下,一大部分针对此锁定的虚拟机都是无法执行的!! 需要进行相应的操作前,请注意解锁指定虚拟机,操作完成 ...

  6. java枚举类型的优势在哪里?--一个实例

    最近在做一个项目,其中涉及到一组操作,命名为: 1. "add"; 2. "logicDel" 3. "physicDel" 4. &quo ...

  7. Linux命令总结_文件的输入与 输出

    1.echo命令 例子:echo string 解释:echo命令用于显示文本或变量,或者把字符串输入到文件,常用的几个特殊字符有以下几个 \c 不换行 \f 进纸 \t 调格 \n 换行 例子:ec ...

  8. [cf2015ICLFinalsDiv1J]Ceizenpok’s formula

    题意:$C_n^m\% k$ 解题关键:扩展lucas+中国剩余定理裸题 #include<algorithm> #include<iostream> #include< ...

  9. JMeter聚合报告(Aggregate Report)理解

    部分内容转载: http://blog.csdn.net/lion19930924/article/details/51189218 http://www.cnblogs.com/fnng/archi ...

  10. eval解析字符串问题

    eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. 复制代码 var str = '{"name&quo ...