实际使用 Java 开发图形界面程序时 ,很少使用 AWT 组件,绝大部分时候都是用 Swing 组件开发的 。 Swing是由100%纯 Java实现的,不再依赖于本地平台的 GUI, 因此可以在所有平台上都保持相同的界面外观。独立于本地平台的Swing组件被称为轻量级组件;而依赖于本地平台的 AWT 组件被称为重量级组件。 由于 Swing 的所有组件完全采用 Java 实现,不再调用本地平台的 GUI,所以导致 Swing 图形界面的显示速度要比 AWT 图形界面的显示速度慢一些,但相对于快速发展的硬件设施而言,这种微小的速度差别无妨大碍。
GUI(Graphical User Interface)提供了图形化的界面,允许用户以图形的方式与系统进行互动。在GUI推广之前,用户通常要以文本命令的方式来控制计算机。GUI直观的将计算机的功能呈
Java Swing是Java GUI编程库的一部分,提供了丰富的组件和布局管理器来构建桌面应用程序。在Swing中,JFrame、JPanel和JButton是构建用户界面的基础组件。本文将介绍这三个组件的用法,常见问题以及如何避免错误,同时提供代码示例。
前面已经讲述了如何获取用户输入的文本。但是在很多情况下,可能更加愿意给用户几种选择而不是让用户在文本组件中输入数据。给一组按钮或者一列选项让用户做出选择。(这样也免去了检查错误的麻烦。)在本节中,将介绍如何编写程序实现复选框、单选按钮、选项列表以及滑块。
本章介绍开发Swing小应用程序和应用程序时要用到的Swing的基本知识。 虽然Swing是AWT的扩展,但是两者的基本概念还是有许多不同之处。首先,Swing小应用程序和应用程序的实现方式与AWT小应用程序和应用程序的实现方式有所不同。而且,如果开发人员想要开发同时使用AWT组件和Swing组件的小应用程序或应用程序,则还必须注意混合使用轻量组件和重量组件所带来的许多问题。 Swing是线程不安全的,这就是说,在大多数情况下,只能从事件派发线程中访问Swing组件。本章将介绍采用这种方法的原因及使用这种方法所带来的结果,另外,本章还介绍了Swing提供的一些机制,这些机制使其他线程能从事件派发线程中执行代码。
在王者荣耀这款游戏中,玩家可以根据自己的喜好来调整页面布局,比如有的玩家觉得左侧出装顺手,而有的玩家则觉得右侧出装顺手;再比如说玩家在局内想要通过展开地图向队友发送信号时,有些玩家觉得地图左侧展开操作顺畅,而另外一些玩家觉得右侧展开操作顺畅。这些组件的页面布局亦可通过自定义来完成。所有的这些功能,达到了王者荣耀设计者让玩家能更好地体验游戏的初衷。 在本实例中,包含有地图左侧展开右侧出装、地图右侧展开左侧出装、地图/出装同左/右侧等多种组件,玩家对于不同组件的组合(布局)有着不同的要求。很显然,在编写代码时无法在构造方法中进行硬编码来满足所有玩家对组件组合(布局)的要求,而是将布局结果对象的构造过程分成若干个步骤,即根据当前组件个数,在一个接口中定义若干个方法,每个方法负责创建布局结果对象的一个组件,而实现该接口的类将负责创建布局结果对象,也就是说,将布局结果对象的创建过程封装在另一个类中(像这种封装一个对象的创建过程的类称作生成器),从而实现满足所有玩家对于出装、地图展开不同布局需求的目的。
3.Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表 4个器件
写了一个app小软件,重点不在于软件,软件bug挺多,也没去修改。 这个小软件只是为了更好的说明和了解设计模块而做的。 Java 程序设计–包结构 Java程序设计的系统体系结构很大一部分都体现在包结构上 大家看看我的这个小软件的分层:
Java-单机版的书店管理系统(练习设计模块和思想_系列 六 ) http://blog.csdn.net/qq_26525215/article/details/51169277
本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。 首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。 一、设计模式是什么 (1)反复出现问题的解决方案 (2)增强软件的灵活性 (3)适应软件不断变化 二、学习JDK中设计模式的好处 (1)借鉴优秀代码的设计,有助于提高代码设计能力 (2)JDK的设计中体现了大多数设计模式,是学习设计模式的较好的方式 (3)可以更加深入的了解JDK 三、类间关系 继承、委托、依赖、聚合、组合
低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。 该事件被传递给每一个FocusListener或FocusAdapter注册,以接收使用组件的此类事件对象addFocusListener方法。 ( FocusAdapter对象实现FocusListener接口。)每个此类侦听器对象获取此FocusEvent当事件发生时。 有两个焦点事件级别:持久性和暂时性的。 永久焦点改变事件发生时焦点直接移动从一个组件到另一个,例如通过到requestFocus的(呼叫)或作为用户使用TAB键遍历组件。 当暂时丢失焦点的组件的另一个操作,比如释放Window或拖动滚动条的间接结果一时焦点变化的事件发生。 在这种情况下,原来的聚焦状态将被自动一旦操作完成恢复,或者,对于窗口失活的情况下,当窗口被重新激活。 永久和临时焦点事件使用FOCUS_GAINED和FOCUS_LOST事件id传递; 水平可以使用isTemporary()方法的事件区分开来。 如果未指定的行为将导致的id任何特定的参数FocusEvent实例不是从范围FOCUS_FIRST到FOCUS_LAST
在JavaSwing应用程序中实现流畅的用户界面是非常重要的一部分。一个好的用户界面不仅需要美观的设计,还需要良好的交互体验。其中,界面跳转是用户体验的重要组成部分。本文将为你介绍JavaSwing界面跳转技巧,帮助你设计出流畅且易用的用户界面。
转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19077139
Java-单机版的书店管理系统(练习设计模块和思想_系列 五 ) http://blog.csdn.net/qq_26525215/article/details/51136848
王者荣耀有非常多的英雄,而且每一个不同的英雄也有其自己对应的皮肤。玩家可以根据需要购买不同的英雄皮肤,体验不同英雄皮肤在对局中的感受。 在本实例中,根据组合模式的特点,列举了英雄李白及其皮肤的树形价格表。
现在终于可以开始介绍Swing用户界面组件了。首先,介绍具有用户输入和编辑文本功能的组件。文本域(JTextField)组件和文本区(JTextArea)组件用于获取文本输入。文本域只能接收单行文本输入而文本区可以接收多行文本输入。
一般大一结束的时候需要做一个类似一下内容的javaswing项目,故而咱们的学习目标如下:
是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用。
又和大家见面了。首先,和大家说声抱歉,之前的几篇文章,可能条理清晰之类的做的不太好,每篇文章的篇幅也比较长,小编在收到读者的建议之后, 也是认真的思考了一番。之前的想法是尽量把一个模块介绍完,没想到一个模块写着写着就写长了。在之后的文章里,需要认真分段,做到能简洁就简洁,能分块就分块,在利用大家碎片化的时间里,力争短小精悍又能收获颇丰。
了解 java是面向对象编程 JDK :开发者工具 JRE: Java运行环境 JVM:Java虚拟机
很多编程语言中都有接口的概念,静态语言 Java 中的接口和 Go 中的接口地位或者概念是不一样的,Go 语言中的接口与 Python 中的接口比较像。
Struts是一个基于Sun Java EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
很多情况下,我们常常喜欢给不同的组件设置边框,从而让界面的层次感更明显,swing中提供了Border对象来代表一个边框,下图是Border的继承体系图:
介绍模式定义定义之前先介绍一下组合模式的意图。其实就是将对象组合成整体-部分层次的树形结构,客户端调用时,对于调用容器对象或者说组合对象(“树枝”)和单个对象(“树叶”)是一致的。
Java 是当今开发人员领域中广受欢迎的领域之一。在本文中,我们总结了 2023 年要想获得成功的职业生涯必须具备的重要 Java 开发人员技能。
package cn.itcast.view;(7) import cn.itcast.util.UiUtil; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class NewJFr
回文的定义:"回文数" 就是正读倒读都一样的整数。如奇数个数字:98789, 这个数字正读是98789,倒读也是98789;偶数个数字3223也是回文数。
将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独对象和组合对象。
第一个是调查主界面,里面有一个集美大学的logo,一个搜索框用文本字段,因为需要在里面写入搜索内容,一个搜索按钮用button,这个按钮完成的功能就是输入搜索内容后,点击搜索按钮,可以跳转到下一个界面,并且返回结果。
这个是表现层的main方法。 实现的地址信息有: 姓名,性别,年龄,电话,地址。 实现的功能有: 增加地址; 删除地址; 修改地址; 查找地址:其中年龄的查找为年龄段的查找。
树形结构不论在生活中或者是开发中都是一种非常常见的结构,一个容器对象(如文件夹)下可以存放多种不同的叶子对象或者容器对象,容器对象与叶子对象之间属性差别可能非常大。
在 Groovy 中 , 可以使用 SwingBuilder 构建 Swing 窗口 , 用于在 Gradle 编译时 , 弹出一些窗口界面 ;
目录 1、通过对Java Swing的发展过程,知晓其基本的背景知识; 2、通过对Java Swing功能的介绍,初步了解其用处所在 2.1Swing的功能: 2.2Swing的特点: 2.3Java Swing的包结构 3、通过一个简单实例,对Java Swing图形开发有一个简单认识 最后的运行结果: 以上就是今天分享的,以后慢慢升级,敬请期待 ---- 1、通过对Java Swing的发展过程,知晓其基本的背景知识; 1.1、Swing是一个用于开发Java图形界面应用程序的工具包(集),以
添加地址信息界面。 年龄和地址必须是数字,否则会弹出窗口提示。 地址信息不能为空。 /* * AddPanel.java * * Created on __DATE__, __TIM
本系统实现了学生登录和管理员登录,学生实现选课,查看已选课程,修改密码,查看学生信息功能。管理员实现选课信息的增删改查,学生信息查询,学生密码修改功能。
package cn.itcast.view;(6) import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.pojo.User; import cn.itcast.util.UiUtil; import javax.swing.JOptionPane; public class RegistFrame extends javax.swing.JFrame { /** *
Swing是一个为java设计的GUI工具包.Swing是JAVA基础类的一部分.Swing包括了图形用户界面(GUI)器件如 : 文本框,按钮,分隔窗格和表.Swing提供许多比AWT更好的屏幕显示元素.它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT.它们是JFC一部分.它们支持可更换的面板和主题,然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们.这意味着你可以在任意平台上使用JAVA支持的任意面板.轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为.Swing开发图形界面比AWT更加优秀,因为Swing是一种轻量级组件,它采用100%的java实现,不再依赖于本地平台的,图形界面.,所以可以在所有平台上保持相同的运行效果,对跨平台支持比较出色.由于AWT需要调用底层平台的GUI实现,所以AWT只能使用各种平台上GUI组件的交集,这大大限制了AWT所支持的GUI组件.对Swing而言,几乎所有组件都采用纯Java实现,所以无须考虑底层平台是否支持该组件,因此Swing可以提供如JTabbedPane,JDesktopPane,JInternalFarme等特殊的容器,也可以提供像JTree,JTable,JSpinner,JSlider等特殊的GUI组件.
推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。 https://www.captainbed.cn/f1
package cn.itcast.view;(5) import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.util.UiUtil; import javax.swing.JOptionPane; public class LoginFrame extends javax.swing.JFrame { /** * Creates new form LoginFrame
G:一级菜单 package cn.itcast_08; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAd
修改地址信息的一个表现层类。 必须选中地址,才能修改,否则会弹出窗口提示,
查找模块: 年龄可进行段查找。 其他的都是模糊匹配。 空格为无用字符,会屏蔽的(除年龄)。 (如果在年龄中输入空格,会出现异常,当时没想到这点,要防护这点很容易的,但因为在这个小软件的编写过程,我主要学的是java项目开发的分层思想,软件可能bug比较多,望见谅。)
删除地址的表现层类。 如果没有选中要删除的地址信息,会出现窗口提示: 删除地址界面:(无法修改数据,只能看) /* * DeletePanel.java * */ packag
Java-单机版的书店管理系统(练习设计模块和思想_系列 二 ): http://blog.csdn.net/qq_26525215/article/details/51089734
Java-单机版的书店管理系统(练习设计模块和思想_系列 三 ): http://blog.csdn.net/qq_26525215/article/details/51099202
这个是表现层的主界面。 /* * ListPanel.java * */ package cn.hncu.addr.ui; import javax.swing.JFrame; imp
package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout
1 import java.awt.BorderLayout; 2 import java.awt.Color; 3 import java.awt.Frame; 4 import java.awt.event.ActionEvent; 5 import java.awt.event.ActionListener; 6 import java.io.UnsupportedEncodingException; 7 import java.sql.Connection; 8 im
==========================================================
领取专属 10元无门槛券
手把手带您无忧上云