Swing编程基础

Swing开发的图形界面AWT跟家轻量级,使用100%的java开发不再依赖本地图形界面可以在所有平台保持相同的运行效果。
优点:
1)Swing组建不再依赖本地平台GUI无需采用各种平台的GUI交集,因此Swing提供大量图形界面组件
2)Swing组建不再依赖本地GUI不会产生平台相关bug
3)Swing组件在各种平台上运行可以保证具有相同的图形界面外观
4)Swing采用MVC(model-view-controller,模型-视图-控制器)设计模式,模型用于维护组件的状态,视图是组件的可视化表现,控制器用于控制各个事件,组件做出怎么样的响应。模型发生改变,它通知所有依赖它的视图,视图根据模型数据来更新自己。

Swing的基本组件

大部分Swing组件都是JComponent抽象类的直接或者间接子类,绝大部分都继承了Container类因此可以作为容器使用
Swing组件按照功能可以分为如下
1)顶层容器:JFrame,JApple,JDialog,JWindow
2)中间容器:JPanel,JSrollPane,JSplitPane,JToolBar等
3)特殊容器:JInternetFrame,JRootPane,JLayeredPane,JDestopPane等
4)基本组件:JButton,JComboBox,JList,LMenu,JSlider等
5)不可编辑信息的显示组件:JLabel,JProgressBar,JToolTip等
6)可编辑信息的显示组件:JTable,JTextArea,JTextField等
7)特殊对话框组件:JColorChooser,JFileChooser等

使用JToolBar创建工具条

可以指定如下两个参数
1)name:工具条名称
2)orientation:工具条方向
常用方法:
1)JButton add(Action a):通过Action对象为JToolBar添加对应的工具按钮。创建一个适用于该容器的组件,从Action对象中获得对应的属性来设置该组件,检查Action对象的初始状态确定是否处于激活状态,且根据Action状态决定所有组件的行为。
2)void addSeparator(Dimension size):像工具条添加指定大小的分隔符
3)void setFloatable(boolean b):设置该工具条是否可以浮动,工具条是否可以拖动
4)void setMargin(Insert m):设置工具条边框和工具按钮之阿金的页边距
5)void setRrientation(int o):设置工具条的方向
6)void setRollover(boolean rollover):设置此工具条的rollover状态

JFileChooser和JColorChooser

  • JColorChoose

r创建颜色选择器对话框主要提供两个静态方法
1)showDiaglog(Component component,String title,Color initialColor)显示一个模式的颜色选择器对话框返回用户所选的颜色。
2)createDiaglog(Component c,String title,boolean modal,JColorChooser choosePane,ActionListener okListener,ActionListener callListener):返回一个对话框,包含指定颜色选择器,该方法可以指定该对话框是模式还是非模式(modal参数指定)可以指定确定事件监听器和取消时间监听器

  • JFileChooser

用于生成“打开文件”,“保存文件”对话框,但是首先需要创建一个对话框实例,使用JFileChooser的构造器来创建对象,包含两个参数
1)currentDirectory:指定创建文件对话框当前路径
2)FileSystemView:指定基于该文件系统外观来创建文件对话框
其中创建文件对话框允许用户选择文件的步骤如下

  1. 采用构造器创建JFileChooser对象
  2. 调用JFileChooser一系列可选方法执行初始化
    1)setSelectedFile(s)指定该文件选择器默认选择的文件
    2)setMultiSelectionEnable(boolean b):允许设置选择多个文件
    3)setFileSelectionMode(int mode):默认情况下只能选择文件,但是在这种方法下可以选择文件,路径文件与路径
  3. 如果要实现文件过滤功能需要结合FileFilter进行文件过滤
  4. FileView类来改变文件对话框中文件的视图外观
  5. 调用showXxxDialog:打开文件对话框
    1)int showDialog(Component parent,String appproveButtonText):弹出文件对话框
    2)int showOpenDialog(Component parent):弹出对话框具有默认标题,同意按钮的文本是打开
    3)int showSaveDialog(Component parent):弹出对话框具有默认标题,同意按钮的文本是保存
  6. 提供两个方法获取用户选择
    1)File getSelectedFile():返回用户选择的文件
    2)File[] getSelectedFiles():返回用户选择的多个文件

java的Swing框架简介相关推荐

  1. 【Java】SSM框架简介

    1.什么是SSM框架? SSM框架是Spring.SpringMVC和MyBatis框架的总结,是比较标准的MVC模式.标准的SSM框架分为持久层.业务层.表现层.视图层. Spring 实现业务对象 ...

  2. java actor akka_Akka框架简介

    Akka是JAVA虚拟机平台上构建高并发.分布式和容错应用的工具包和运行时.Akka用Scala语言编写,同时提供了Scala和Java的开发接口.Akka处理并发的方法基于Actor模型,Actor ...

  3. Java框架有哪些?Java开发十二大框架简介

    1.Spring 框架 Spring框架是现在Java后端框架家族里面最强大的一个,拥有IOC和AOP两大利器,简化了开发的复杂性.而且Spring现在能与所有主流开发框架集成,是一个万能框架,Spr ...

  4. java常见开源框架简介

    对于一般常见的框架,在和别人交谈或者看见项目用到了,知道是干什么用的就够了.开始垒高楼gogo 1.Apache Shrio 介绍 Apache Shiro™是一个功能强大且易于使用的Java安全框架 ...

  5. Java开源——常见J2EE框架简介

    Java开源--常见J2EE框架简介 Spring Framework Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口 ...

  6. 【Android 热修复】热修复原理 ( 热修复框架简介 | 将 Java 字节码文件打包到 Dex 文件 )

    文章目录 一. 热修复框架简介 1.类替换 2.so 替换 3.资源替换 4.全平台支持 5.生效时间 6.性能损耗 7.总结 二. 将 Java 字节码文件打包到 Dex 文件 一. 热修复框架简介 ...

  7. Java Swing框架实战

    Java Swing框架介绍 Swing 是一个为Java设计的GUI工具包.(PC的一个UI库) Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分 ...

  8. Java 中的 Swing 框架现在是不是被淘汰了?

    关于java中的Swing框架,我先说下如下的观点. 1 只要是用java开发的商业项目,就指着来挣钱的项目,都不会用Swing框架. 2 所以对java初学者来说,根本没必要学swing,甚至连类似 ...

  9. Java字节码框架ASM简介

    Java字节码框架ASM简介 1. ASM概述 1.1 ASM简介 1.2 ASM提供API 1.3 ASM核心模块 2. ASM应用 2.1 ASM依赖 2.2 代码实现 2.3 测试验证 1. A ...

  10. android java框架_Android 框架简介:java框架

    Android 框架简介:java框架 2015-10-15 14:43  来源: 正保IT教育网整理 这里简单的介绍了Android的java环境基础,在后面一节中会结合具体的实例来理解这一节的内容 ...

最新文章

  1. html 书架样式css,CSS3 响应式书架布局
  2. 解决问题ImportError: HDFStore requires PyTables, quot;No module named 'tables'quot; problem importing
  3. srs代码学习(4)-怎么转发流
  4. mybatis中mysql转义讲解
  5. CTF爬虫:掌握这些特征,一秒识别密文加密方式
  6. 使用 Core Graphics 绘制基本形状
  7. mysql数据一条复制_Mysql 复制一条数据-阿里云开发者社区
  8. 安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
  9. python在线发音-Python如何实现文本转语音
  10. 剑指offer:2.二维数组的查找(Java版)
  11. 迎建国七十周年,Linux厂商巡礼之优麒麟
  12. AndroidStudio与eclipse打包的时候报错。Error:(4) Error: ssdk_instapager_login_html is not translated in......
  13. 使用阿里云加速器 配置 Docker 镜像加速器
  14. 硬盘数据恢复软件FinalData使用心得
  15. 根据域名查询外网ip
  16. 怎么为小数据集划分训练集和测试集
  17. 我来告诉你,草根程序员如何进入BAT
  18. 安装mysql忘了初始密码咋办_mysql安装忘记初始密码怎么办
  19. flex布局遇到white-space失效问题
  20. 刘强东的“长期主义”:做正确的事,敢于追求极致

热门文章

  1. android手机无法root成功,为什么有的安卓手机不能Root?
  2. Pyflink系列之使用pyflink实现flink大数据引挚的经典案例wordcount
  3. Keras的Adam优化器decay理解及自适应学习率
  4. Normalized Gini Coefficient
  5. `不知道是不是我惹的祸.有道网页翻译就失效了.`
  6. hexo博客next主题6.0版本个性化设置
  7. mybatis插入大于号小于号到oracle
  8. 计算机中升序符号,电脑excel表格软件中的标点符号怎么快速替换
  9. 王者荣耀游戏高清壁纸(手机|电脑),来袭
  10. 用python的requests第三方模块抓取王者荣耀所有英雄的皮肤