swing 2

JavaFx2 实现系统托盘 (使用swing的方法) JavaFx2 实现系统托盘 (使用swing的方法) package test.test2; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.TrayIcon; import java.awt.event.ActionListener; import java.awt.event.Mo 阅读详情

 

7.1.4 MVC(Model-View-Control)体系结构

  Swing胜过AWT的主要优势在于MVC体系结构的普遍使用。在一个MVC用户界面中,存三个通讯对象:模型、视图和控件。模型是指定的逻辑表示法,视图是模型的可视化表示法,而控件则指定了如何处理用户输入。当模型发生改变时,它会通知所有依赖它的视图,视图使用控件指定其相应机制。

  为了简化组件的设计工作,在Swing组件中视图和控件两部分合为一体。每个组件有一个相关的分离模型和它使用的界面(包括视图和控件)。比如,按钮JButton有一个存储其状态的分离模型ButtonModel对象。组件的模型是自动设置的,例如一般都使用JButton 而不是使用ButtonModel 对象。另外,通过Model类的子类或通过实现适当的接口,可以为组件建立自己的模型。把数据模型与组件联系起来用setModel( )方法。

  MVC是现有的编程语言中制作图形用户界面的一种通用的思想,其思路是把数据的内容本身和显示方式分离开,这样就使得数据的显示更加灵活多样。比如,某年级各个班级的学生人数是数据,则显示方式是多种多样的,可以采用柱状图显示,也可以采用饼图显示,也可以采用直接的数据输出。因此在设计的时候,就考虑把数据和显示方式分开,对于实现多种多样的显示是非常有帮助的。

7.1.5 可存取性支持

  所有Swing组件都实现了Accessible接口,提供对可存取性的支持,使得辅助功能如屏幕阅读器能够十分方便的从Swing组件中得到信息。

7.1.6 支持键盘操作

  在Swing组件中,使用JComponent类的registerKeyboardAction()方法,能使用户通过键盘操作来替代鼠标驱动GUI上Swing组件的相应动作。有些类还为键盘操作提供了更便利的方法。

  其实这就相当于热键,使得用户可以只用键盘进行操作。

7.1.7 设置边框

  对Swing组件可以设置一个和多个边框。Swing中提供了各式各样的边框供用户选用,也能建立组合边框或自己设计边框。一种空白边框可以增大组件,协助布局管理器对容器中的组件进行合理的布局。

7.1.8 使用图标(Icon)

  与AWT的部件不同,许多Swing组件如按钮、标签,除了使用文字外,还可以使用图标修饰自己。

例7.1:
  import javax.swing.*; //引入Swing包名
             //import com.sun.java.swing.*;
             //使用JDK 1.2 Beta 4版和所有Swing 1.1 Beta 3
             //之前的
版本,引入Swing包名用此方法。
  import java.awt.*;
  import java.awt.event.*;
  public class SwingApplication {
    private static String labelPrefix = "Number of button clicks: ";
    private int numClicks = 0; //计数器,计算点击次数
    public Component createComponents() {
      final JLabel label = new JLabel(labelPrefix + "0 ");

      JButton button = new JButton("I'm a Swing button!");
    button.setMnemonic(KeyEvent.VK_I); //设置按钮的热键为'I'
    button.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        numClicks++;
        label.setText(labelPrefix + numClicks);
                 //显示按钮被点击的次数

      }
    });
    label.setLabelFor(button);

    /* 在顶层容器及其内容之间放置空间的常用办法是把内容添加到Jpanel上,而Jpanel本身没有边框的。*/

    JPanel pane = new JPanel();
    pane.setBorder(BorderFactory.createEmptyBorder(
              30, //top
              30, //left
              10, //bottom
              30) //right
              );
     pane.setLayout(new GridLayout(0, 1)); //单列多行
     pane.add(button);
     pane.add(label);
     return pane;
  }

  public static void main(String[] args) {
     try {
       UIManager.setLookAndFeel(
         UIManager.getCrossPlatformLookAndFeelClassName());
                          //设置窗口风格

     } catch (Exception e) { }

     //创建顶层容器并添加内容.
     JFrame frame = new JFrame("SwingApplication");
     SwingApplication app = new SwingApplication();
     Component contents = app.createComponents();
     frame.getContentPane().add(contents, BorderLayout.CENTER);

     //窗口设置结束,开始显示
     frame.addWindowListener(new WindowAdapter() {
                      //匿名类用于注册监听器

       public void windowClosing(WindowEvent e) {
         System.exit(0);
       }
     });
     frame.pack();
     frame.setVisible(true);
   }
  }

   查看运行结果

7.1.9 Swing程序结构简介

  Swing的程序设计一般可按照下列流程进行:
  1. 引入Swing包
  2. 选择"外观和感觉"
  3. 设置顶层容器
  4. 设置按钮和标签
  5. 向容器中添加组件
  6. 在组件周围添加边界
  7. 进行事件处理

  例子7.1说明了Swing中程序设计的结构以及最基本的组件Button和Label的用法。在程序中,我们建立一个Swing风格的窗口,并在其中添加一个按钮,程序中保存一个计数器以计算按钮被点击的次数,并在每一次点击之后用一个Label显示。在这个程序中我们可以看到Swing组件的使用与AWT组件的使用基本方法一致,使用的事件处理机制也完全相同。这些在前面的AWT中已经讲过,不再赘述。

英语语法-句法 摘要:本文系统梳理了英语句法知识,重点解析了五种基本句型及其扩展结构。内容包括句子类型(陈述句、疑问句、祈使句、感叹句)、复合句构成(从句分类与连词使用)、特殊句型(倒装、强调、引语转换)等。特别强调句子成分分析技巧,指出每种句子成分可由不同词法单元充当,需掌握成分识别与划分方法。文章还提供了往期语法系列链接,形成完整的英语语法学习体系,帮助读者建立从词法到句法的系统认知框架。 阅读详情

相关推荐

基于FreeRTOS与MQTT的物联网技术应用系列——步进电机控制(三)SD卡驱动、FatFS等的移植和ini配置文件读取的实现

本文实现了基于STM32F107VC的金牛开发板的基于SPI模式的SD卡驱动和FatFS的移植,以及利用minini库对ini配置信息文件进行读取。

sqshining的专栏 2138

SWING常识2:JAVA--SWING包介绍

这是jdk1.4 .2.08的中的包结构。等有时间了我会研究最新jdk版本中的swing包结构。下面文字源于网络,我发现网络的中排版高手数不胜数!PACHAGE | 内 容 -----------------|------------------------------- javax.swing | 最常用的pachage,包含了各种swing组件的类 javax.swing.bord

木桶强的专栏 1522

知识图谱中的 Ontology(本体论)

本文的部分图片和内容来自中国科学院自动化研究所刘康老师的课件 Ontology(本体论) Ontology 是(特定领域)信息组织的一种形式,是领域知识规范的抽象和描述,是表达、共享、重用知识的方法。 Ontology 是知识体系构建的关键技术,知识图谱是一种人工智能技术,它的关键在于让计算机能够处理人类的知识。然而,人类脑海中的知识通常是直觉性的,我们无法将这种直觉性的知识直接输入给计算机,On...

P01son的博客 2万+

如何在Swing上渲染LWJGL2?

你好 我只是想知道如何在Swing创建的窗口中从LWJGL2(四等)&...

专业的开发者“讨论” 249

PPT+视频 | 详解智能营销增益模型(uplift model)

分享营销增益模型的原理和常见的建模及评估方法,并以淘票票智能票补为例介绍uplift model技术的实践经验。

阿里文娱技术 8627

基于STM32-XPC仿真平台的构架

基于STM32-XPC仿真平台的构架 xPC Target是MathWorks公司的MATLAB提供的一个基于RTW(Real-Time Workshop)体系框架的附加产品,是一种用于产品原型开发、测试和配置实时系统的PC机解决途径。xPC目标实时仿真系统能够使开发者在产品开发前进行产品原型的快速实现、测试和评估,是 Simulink 工具集下用于产品原型开发设计测试集于一体的工具箱。

sujianbonwpu的博客 4488

将JavaFX 2.0与Swing和SWT集成

JavaFX 2.0对JavaFX的改进之一是可以更轻松地与Swing和SWT进行互操作 。 一些在线资源记录了如何完成此操作。 其中包括将JavaFX集成到Swing应用程序和SWT Interop中 。 但是,在有效的类级Javadoc文档的一个很好的示例中,各自的JavaFX类javafx.embed.swing.JFXPanel和javafx.embed.swt.FXCanvas都提...

最佳 Java 编程 1128

基于Python实现的捕鱼达人小游戏源代码+使用说明

摘要: 本文介绍了一款自制的捕鱼达人小游戏,使用Python3和Pygame模块开发。游戏包含完整的资源文件(图片、音效、字体)和源码结构(11个功能模块),实现了大炮移动射击、特殊子弹、炸弹、难度递增等核心玩法。安装需配置Python环境和Pygame模块,运行main.py即可启动游戏。游戏支持键盘控制(方向键移动、空格射击、1键放炸弹),默认时长600秒,包含开始菜单、游戏界面和结束界面。所有代码均有详细注释,项目已开源并提供下载链接。(150字)

2301_76484015的博客 667

用Swing做的H2管理器

  MainFrame 继承了 JFrame , 增加center方法,方便窗口居中。   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////     ////       ...

129

教你如何阅读Autosar代码(6):常量变量定义

编译器抽象应该为常量的声明和定义定义CONST宏。编译器抽象应该定义VAR宏来声明和定义变量。memclass:常量本身的分类;memclass:变量本身的分类;vartype:变量的类型;type:常量的类型;

wdconan001的博客 958

【数据结构】期末考试复习(考点+例题)

1.线性表定义及其存储实现:顺序表和链接表,优缺点分析(顺序存储可随 机访问,链式存储可灵活利用空间),相关操作的时间复杂度。 2.链表的插入删除操作 3.两种特殊的线性表及其应用:栈、队列 4.栈、队列上的(插入/删除)操作及其特点 5.循环队列满和空的条件 6.能够定义线性表、栈、队列的数据存储结构,能够实现相关操作的算法并 分析时间复杂度(例如插入、删除及其它应用等) 7.理解线性结构的应用( 如根据要求能灵活定义线性表结构,能根据线性表 的插入、删除操作解决实际问题) 二叉树基本概念与性质(高

Molly 的博客 9371

Swing技巧总结,ps:推荐java2html

把前面提到的Swing技巧全部放在一个类,方便调用.另外,终于找到一个好的java2html:http://gnuwin32.sourceforge.net/packages/src-highlite.htm看看网页的效果,很不错./* * Created on 2005-2-19 */package net.csdn.dyhml.util;import java.awt.Comp

病菌集中营 2881

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java 2 图形设计卷_[下载]Java 2 图形设计卷Ⅱ:SWING

[下载]Java 2 图形设计卷Ⅱ:SWING供大家学习的[此贴子已经被作者于2004-06-08 11:08:28编辑过]----------------解决方案--------------------------------------------------------the Pages cannot be found有别的链接吗?干脆上传上来,大家都学学,这确实是本好书.---------...

weixin_39575047的博客 183

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java swing 设置背景_swing-窗体添加背景图片的2种方法

在美化程序时,常常需要在窗体上添加背景图片。通过搜索和测试,发现了2种有效方式。下面分别介绍。1.利用JLabel加载图片利用JLabel自带的setIcon(Icon icon)加载icon,并设置JLabel对象的位置和大小使其完全覆盖窗体。这是一个很取巧的办法,代码非常简单,如下所示。JLabel lbBg = newJLabel(imageIcon);lbBg.setBounds(0, 0...

weixin_30068377的博客 5587

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

2:Swing布局

一:绝对定位(设置布局null) 绝对定位就是指不使用布局器,组件的位置和大小需要单独指定 JFrame f = new JFrame("title"); f.setSize(400, 300); f.setLocation(200, 200); // 设置布局器为null,即进行绝对定位,容器上的组件都需要指定位置和大小 f.se...

发现问题,面对问题,分析问题,解决问题,总结问题 1749

we need Swing 2.0 which is not JavaFX-base

Published on January 26, 2009 in Programming. 178 CommentsTags: java, software, swing. From:http://jonathangiles.net/blog/?p=207 I believe that there is a need for a proper Swing 2.0 which ...

myNameAbian的专栏 252

swing2

设置颜色 label.setBackground(Color.blue);label.setOpaque(true);  jlabel.setForeground(Color.red);JLabel label=new JLabel("红蓝"); 1 JFrame frame = new JFrame(); frame.setLocationRelativeTo(null);

so185582的专栏 567

FEST-Swing 1.2发布

FEST-Swing版本1.2现在可用。 FEST-Swing是一个Java库,提供用于功能性Swing和GUI测试的接口和API。 通过FEST-Swing,可以使用GUI模拟用户交互,并且可以将失败的GUI测试的屏幕截图嵌入HTML测试报告中。 支持JDK中包含的所有Swing组件。 此版本将SystemProperties类从fest-swing转移到fest-util,修复了J...

354

fest556_FEST-Swing 1.2发布

fest556 FEST-Swing版本1.2现在可用。 FEST-Swing是一个Java库,提供用于功能性Swing和GUI测试的接口和API。 使用FEST-Swing,可以使用GUI模拟用户交互,并且可以将失败的GUI测试的屏幕截图嵌入HTML测试报告中。 支持JDK中包含的所有Swing组件。 此版本将SystemProperties类从fest-swing转移到fest-ut...

280

java 2 swing_Java Swing2 基本登錄框

用到了標簽JLabel輸入域 JTextField密碼輸入域JPasswordField按鈕 JButtonpackage com.igswing.zmz;import java.awt.Frame;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.J...

weixin_36443053的博客 134

(翻译)第七回 JavaFX2.0和Swing的集成

原文地址http://download.oracle.com/javafx/2.0/swing/jfxpub-swing.htm   JavaFX 2.0 发布版引入了JFXPanel类,它位于 javafx.embed.swing 包中,使你能够将JavaFX内容绑定进Swing 程序。 本文教你怎么将JavaFX内容加进Swing 程序中并指导你如何在一个同时具备Swing 和Java...

经过一个过程,然后成为自己 273

fest556_支持键盘映射的FEST-Swing 1.2rc

Alex Ruiz已发布FEST-Swing 1.2rc。 FEST-Swing是一个Java库,它为功能齐全的Swing GUI测试提供接口。 在此版本中,用户可以从文本文件加载键盘映射。 提供了用于创建所述键盘映射的UI。 此版本还具有增加的类可见性的功能,GUITestRunner在执行“ After”方法之前先截取屏幕截图。 请参阅发行说明以获取更多信息。 这是1.2决赛之前的...

1559

Java GUI编程2---Swing简介

Swing简介 AWT中大量的引入了Windows函数,所以经常被称为重量级组件。在Java2中提供了轻量级的图形界面组件—Swing,Swing用Java语言实现,是以AWT平台为基础构建起来的新组件,直接使用Swing可以更加轻松的构建用户界面。 在Java中所有的Swing组件都保存在javax.swing包中,从包的名称(javax)中可以知道这是一个扩展包,所有的组件都是从JComp...

小蓝的博客 1545

Swing代码练习2

- 图标、按钮 JLabel标签,通过Icon接口创建图标(并给定图标大小颜色等) //非正确代码233 import javax.swing.JLabel; public class MyImage extends JFrame { public MyImage() { Container container = getContentPane(); JLable jl = new J...

zqc的博客 274

Swing 2

我们使用Swing构建出了外观形状,但仅仅这样肯定是不够的,关键还要进一步对用户的交互做出响应,这时候我们需要进行事件驱动编程,也就是根据事件发生而执行代码的编程方式。首先,事件是用于描述发生了什么事情,比如点击按钮、选中文本框等等,Java是使用事件委托模型来处理事件。事件源触发一个事件,但事件源本身并不处理该事件,而是委托给对该事件有兴趣的对象来处理,这个被委托来处理事件的对象,称为事件监听器...

weixin_30682127的博客 106

Swing2_b站

第4章开始P16第4章 标签 JLabel1、复制SwingDemoP174.2 文本框 JTextFieldP184.3 复选框 JCheckBoxP194.4 下拉列表 JComboBox P16第4章 标签 JLabel 1、复制SwingDemo package Swing0401; import javax.swing.*; public class SwingDemo { private static void createGUI() { // JFra

qq_42788016的博客 278
上一篇: Swing 1
下一篇: swing 4
geminiroy
博客等级 码龄19年 27粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值