简单的swing小部件

JLabel组件

Swing 库中最基础的组件是JLabel。它所做的正是您所期望的:呆在那儿,看起来很漂亮,描述其他组件。下图显示了的JLabel实际应用:

JLabel

不太吸引人,但是仍然有用。实际上,在整个应用程序中,不仅把 JLabel用作文本描述,还将它用作图片描述。每当在Swing应用程序中看到图片的时候,它就有可能是JLabel。JLabel对于Swing初学者来说没有许多意料之外的方法。基本的方法包括设置文本、图片、对齐以及标签描述的其他组件:

· get/setText(): 获取/设置标签的文本。

· get/seticon(): 获取/设置标签的图片。

· get/setHorizontalAlignment(): 获取/设置文本的水平位置。

· get/setVerticalAlignment(): 获取/设置文本的垂直位置。

· get/setDisplayedMnemonic(): 获取/设置标签的访问键(下划线文字)。

· get/setLableFor(): 获取/设置这个标签附着的组件,所以当用户按下Alt+访问键时,焦点转移到指定的组件。

JButton组件

Swing 中的基本动作组件JButton,是与每个窗口中都能看到的OK和Cancel一样的按钮;这些按钮所做的正是您希望它们做的工作——在单击它们之后,将发生一些事情。到底会发生什么呢?您必须定义发生的内容(请参阅事件,以获得更多信息)。

用来改变 JButton属性的方法与JLabel的方法类似(您可能发现,在大多数Swing组件中,这些属性都类似)。它们控制文本、图片和方向:

· get/setText(): 获取/设置标签的文本。

· get/seticon(): 获取/设置标签的图片。

· get/setHorizontalAlignment(): 获取/设置文本的水平位置。

· get/setVerticalAlignment(): 获取/设置文本的垂直位置。

· get/setDisplayedMnemonic(): 获取/设置访问键(下划线字符),与Alt按钮组合时,造成按钮单击。

除了这些方法,我还要介绍 JButton包含的另外一组方法。这些方法利用了按钮的所有不同状态。状态是对组件进行描述的一个属性,通常采用真/假设置。在JButton中,可以包含以下可能状态:活动/不活动、选中/没选中、鼠标经过/鼠标离开、按下/没按下,等等。另外,可以组合这些状态,例如按钮可以在鼠标经过的同时被选中。现在您可能会问自己用这些状态到底要做什么。作为示例,请看看您的浏览器上的后退按钮。请注意在鼠标经过它的时候,图片是如何变化的,在按下该按钮时,图片又是如何变化的。这个按钮利用了不同的状态。每个状态采用不同的图片,这是提示用户交互正在进行的一种普遍并且有效的方式。JButton上的状态方法是:

· get/setDisabledIcon()

· get/setDisableSelectedIcon()

· get/setIcon()

· get/setPressedIcon()

· get/setRolloverIcon()

· get/setRolloverSelectedIcon()

· get/setSelectedIcon()

JTextField组件

Swing 中的基本文本组件是 JTextField,它允许用户在 UI 中输入文本。我肯定您熟悉文本字段:要掌握本教程,则必须使用一个文本字段输入用户名和口令。您输入文本、删除文本、选中文本、把文字四处移动 —— Swing 替您负责所有这些工作。作为 UI 开发人员,利用 JJTextField 时,实际上并不需要做什么。

在任何情况下,这是 JTextField 实际使用时看起来的样子:

JTextField

在处理 JTextField 时,只需要关注一个方法 —— 这应当是很明显的,这个方法就是设置文本的方法: get/setText(),用于获取/设置 JTextField 中的文本。

JFrame组件

JFrame

迄今为止,我介绍了 Swing的三个基本构造块:标签、按钮和文本字段;但是现在需要个地方放它们,希望用户知道如何处理它们。JFrame类就是做这个的——它是一个容器,允许您把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。

JFrame 实际上不仅仅让您把组件放入其中并呈现给用户。比起它表面上的简单性,它实际上是Swing包中最复杂的组件。为了最大程度地简化组件,在独立于操作系统的Swing组件与实际运行这些组件的操作系统之间,JFrame起着桥梁的作用。JFrame在本机操作系统中是以窗口的形式注册的,这么做之后,就可以得到许多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动。但是对于本教程的目标来说,把JFrame当作放置组件的调色板就足够了。可以在JFrame上调用的一些修改属性的方法是:

· get/setTitle(): 获取/设置帧的标题。

· get/setState(): 获取/设置帧的最小化、最大化等状态。

· is/setVisible(): 获取/设置帧的可视状态,换句话说,是否在屏幕上显示。

· get/setLocation(): 获取/设置帧在屏幕上应当出现的位置。

· get/setsize(): 获取/设置帧的大小。

· add(): 将组件添加到帧中。

java swing入门教程_JAVA swing初级教程(二)相关推荐

  1. java flowlayout 左对齐_Java Swing组件布局管理器之FlowLayout(流式布局)入门教程

    本文实例讲述了Java Swing组件布局管理器之FlowLayout(流式布局).分享给大家供大家参考,具体如下: FlowLayout应该是Swing布局管理器学习中最简单.最基础的一个.所谓流式 ...

  2. java qq ui界面_java swing 创建一个简单的QQ界面教程

    记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...

  3. java swing外文文献_Java Swing英文本pdf教程(Java Swing (O'Reilly))

    [实例简介] [实例截图] [核心代码] Java Swing Preface - 5 What This Book Covers About the Source Code Conventions ...

  4. java gui拖拽_Java Swing拖放

    Java Swing教程 - Java Swing拖放 拖放(DnD)是一种在应用程序中传输数据的方法. DnD允许我们通过拖动组件并将其拖放到另一个组件上来传输数据. 拖动的组件称为拖动源;它提供要 ...

  5. python语言入门详解-python初级教程:入门详解

    python初级教程:入门详解 Crifan Li 目录 前言 .................................................................... ...

  6. java swing最小化_Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)...

    Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果) package swing; import java.awt.AWTException; import java ...

  7. java swing实现计算器_Java swing实现的计算器功能完整实例

    本文实例讲述了Java swing实现的计算器功能.分享给大家供大家参考,具体如下: package awtDemo; import java.awt.*; import java.awt.event ...

  8. java.swing调难度_Java Swing BorderLayout调整了难度

    你可以在你的情况下使用的是 GridLayout,这里有两个JButtons会在JFrame调整大小时自行调整大小. import java.awt.GridLayout; import javax. ...

  9. java swing事件机制_java SWing事件调用的两种机制

    /** * java swing中事件调用的两种机制: * (一)响应机制 * (二)回调机制 */ package test; import java.awt.*; import java.awt. ...

  10. java记事本复制粘贴_Java Swing 如何实现记事本中“编辑”菜单下的 剪切,复制,粘贴,删除,全选 功能...

    这篇文字将要学习以下知识点: 1.如何给JButton按钮添加鼠标点击事件监听器 #1.addMouseListener(MouseListener l)  给JButton添加一个鼠标点击监听器l ...

最新文章

  1. 单元测试如何保证了易用的API
  2. mongodb 3.2性能测试
  3. 系统制成docker镜像_Docker学习以及镜像制作流程
  4. HashSet 与TreeSet和LinkedHashSet的区别
  5. 【思维训练】刺激战场极寒模式下带妹吃鸡的【兵法思维】和【统计学思维】
  6. SAP Spartacus CORS 设置
  7. r语言怎么以第二列绘制线图_用卫星图像绘制世界海岸线图-第二部分
  8. SparkSQL自定义AVG强类型聚合函数与弱类型聚合函数汇总
  9. LeetCode 942. 增减字符串匹配
  10. 二、Zabbix-zabbix server部署-LNMP
  11. 佩斯大学计算机科学世界排名,美国佩斯大学留学推荐 计算机科学专业
  12. 谷歌身份认证 Python实现
  13. word 段显示在页面最下方_最快速地把同一内容插入到Word文档不同页面的相同位置...
  14. checkbox复选框,如何让其勾选时触发一个事件,取消勾选时不触发
  15. 【一周一算法】算法3:最常用的排序——快速排序
  16. 【servlet】搭建servlet环境
  17. 转:驳Moxie关于Web3中“去中心化”、“服务器”和“密码学”的观点
  18. 【P5385】【Cnoi2019】须臾幻境(LCT)
  19. 制作简单的星星评分案例
  20. 【NISP一级】1.3 网络空间安全政策与标准

热门文章

  1. 案例分析|视频网站如何实现智能选路
  2. 【区块链】Python开发EOS机器人与WAX链游脚本常用工具
  3. paddinglfet和marginleft区别
  4. IDEA 配置 Git 出现卡在 Identifying Git Version
  5. 1.入门Chisel心得与笔记:模块与端口操作
  6. 【动画宣传片视频制作软件】Focusky教程 | 演示时手写注释功能
  7. 【语音处理】硬核介绍人体的感知和听觉特性
  8. 社会责任审核-安全出口
  9. 机器人钩阿木木_英雄联盟:游戏里机器人最不敢,勾这四位英雄,最后一位不敢勾!...
  10. 批量提取文件名到excel,详细的提取步骤