无论从哪个角度来看, JList 和 JComboBox 都是极其相似的,它们都有一个列表框,只是 JComboBox的列表框需要 以下拉方式显示出来; JList 和 JComboBox 都可以通过调用 setRendererO方法来改变列表项的表现形式 。甚至维护这两个组件的 Model 都是相似的, JList 使用 ListModel, JComboBox 使用ComboBoxModel ,而 ComboBoxModel 是 ListModel 的子类 。
然后就是JList的多列显示,使用setLayoutOrientation(参数)方法来实现,共有3个参数,默认值是JList.VERTICAL,只用一列来显示,但不会自动滚动,需要添加滚动面板才能出现滚动条。setVisibleRowCount(n);方法可以设置最多显示多少行(若没有添加滚动面板,此设置无效,所有内容均会显示)。另外两个参数是JList.VERTICAL_WRAP和JList.HORIZONTAL_WRAP,其含义分别是“在保证行数不超过setVisibleRowCount(n)的情况下,纵向或横向排列元素”。此时滚动面板无效,因为行数永远不可能超标,因此滚动面板也永远不会出现 。比如最大显示行数为4,总共有5个元素,显示结果如下:
1.实例化JFrame对象,也就是创建一个窗体。 2.获取一个容器。 3.创建组件。 4.向容器添加组件。 5.使窗体可视。 6.设置窗体大小。 7.调用上面方法。
JavaSwing_1.1: FlowLayout(流式布局) JavaSwing_1.2: GridLayout(网格布局) JavaSwing_1.3: GridBagLayout(网格袋布局) JavaSwing_1.4: BoxLayout(箱式布局) JavaSwing_1.5: GroupLayout(分组布局) JavaSwing_1.6: CardLayout(卡片布局) JavaSwing_1.7: BorderLayout(边界布局) JavaSwing_1.8: SpringLayout(弹性布局) JavaSwing_1.9: null(绝对布局) JavaSwing_1.10:TableLayout(表格布局)
GUI(图形用户界面)为程序提供图形界面,它最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有的平台上运行,但Java1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要求,于是Swing出现了,它是AWT组件的增强组件,但是它并不能完全替代AWT组件,这两种组件需要同时出现在一个图形用户界面中。
实际使用 Java 开发图形界面程序时 ,很少使用 AWT 组件,绝大部分时候都是用 Swing 组件开发的 。 Swing是由100%纯 Java实现的,不再依赖于本地平台的 GUI, 因此可以在所有平台上都保持相同的界面外观。独立于本地平台的Swing组件被称为轻量级组件;而依赖于本地平台的 AWT 组件被称为重量级组件。 由于 Swing 的所有组件完全采用 Java 实现,不再调用本地平台的 GUI,所以导致 Swing 图形界面的显示速度要比 AWT 图形界面的显示速度慢一些,但相对于快速发展的硬件设施而言,这种微小的速度差别无妨大碍。
低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。 该事件被传递给每一个FocusListener或FocusAdapter注册,以接收使用组件的此类事件对象addFocusListener方法。 ( FocusAdapter对象实现FocusListener接口。)每个此类侦听器对象获取此FocusEvent当事件发生时。 有两个焦点事件级别:持久性和暂时性的。 永久焦点改变事件发生时焦点直接移动从一个组件到另一个,例如通过到requestFocus的(呼叫)或作为用户使用TAB键遍历组件。 当暂时丢失焦点的组件的另一个操作,比如释放Window或拖动滚动条的间接结果一时焦点变化的事件发生。 在这种情况下,原来的聚焦状态将被自动一旦操作完成恢复,或者,对于窗口失活的情况下,当窗口被重新激活。 永久和临时焦点事件使用FOCUS_GAINED和FOCUS_LOST事件id传递; 水平可以使用isTemporary()方法的事件区分开来。 如果未指定的行为将导致的id任何特定的参数FocusEvent实例不是从范围FOCUS_FIRST到FOCUS_LAST
是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用。
本文链接: http://blog.csdn.net/xietansheng/article/details/72814531
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷。 使用DOM4J技术解析XML文件的步骤? public static void dom4jXml()throws Exception{ //第一步:获得一个解析器 SAXReader saxreader = new SAXReader(); //第二步:指定解析的XML文件 Document document=sax
文章目录 java的容器 数组 Collection 实例 java的容器 容器中可以保含多个对象,每个对象称为容器的一个元素.容器是用对象封装的数据结构. 数组 数组是最常见的数据结构.数组是相同的类型元素的有序集合,并有固定的大小.数组可以根据下标(index)来随机存取元素. Collection 表(List)和集合(set)是java.util中定义的两个接口(interface); 集合(set)也是元素的集合。集合中不允许有等值的元素,集合的元素没有顺序 map是键值对结合.map中的每个元素
Java-单机版的书店管理系统(练习设计模块和思想_系列 五 ) http://blog.csdn.net/qq_26525215/article/details/51136848
前面已经讲述了如何获取用户输入的文本。但是在很多情况下,可能更加愿意给用户几种选择而不是让用户在文本组件中输入数据。给一组按钮或者一列选项让用户做出选择。(这样也免去了检查错误的麻烦。)在本节中,将介绍如何编写程序实现复选框、单选按钮、选项列表以及滑块。
import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; im
GUI(Graphical User Interface)提供了图形化的界面,允许用户以图形的方式与系统进行互动。在GUI推广之前,用户通常要以文本命令的方式来控制计算机。GUI直观的将计算机的功能呈
import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Scanner; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.
与Command模式中的Command类似的一个概念。Command模式将操作的执行逻辑封装到一个个Command对象中,解耦了操作发起者和操作执行逻辑之间的耦合关系:操作发起者要进行一个操作,不用关心具体的执行逻辑,只需创建一个相应的Command实例,调用它的执行接口即可。 而在swing中,与界面交互的各种操作,比如插入,删除等被称之为Edit,实际上就是Command。
这样,一个简单地,模拟执行结合排序变化的例子就完成了。:) 有兴趣的读者可以试一试。
1.修改功能(密码、昵称、个性签名) 2.添加好友、删除好友 3.单聊功能 4.判断好友是否在线
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
该文讲述了如何利用JComboBox监听事件,并通过实例代码进行了详细的介绍。当使用ItemListener监听JComboBox的下拉框事件时,在每次更改选中项时,会触发两次ItemStateChanged事件,这是因为每次选中项时,会重新选中上一个选中项,然后取消选择,因此会触发两次事件。可以通过判断事件状态是否为选中状态来区别处理。
觉得有用的话,欢迎一起讨论相互学习~ 视频教程地址: https://www.bilibili.com/video/BV1HK4y1L75a 设计布局 大部分和上一节: https://xuzhiwei.blog.csdn.net/article/details/111470880 的内容一致,新加入的内容有 JcomboBox下拉框 JTextField的不可编辑的属性 可以通过调节一个控件的Vertical Align属性以调节一个元素的位置,特别是将其设置为top可以将这个控件调得较高,默认为ce
Java-单机版的书店管理系统(练习设计模块和思想_系列 二 ): http://blog.csdn.net/qq_26525215/article/details/51089734
先说一下这个小项目也算是我在大学做的第一个应该算的上是的项目的项目,前前后后用了20天左右吧。先是用swing写好了仿QQ界面(界面很丑)最后逻辑实现都是后面断断续续加进去的。写这个项目之前没有很好的规划在逻辑实现方面与数据库逻辑交互过于频繁。走了很多的弯路
实现的效果是获取Mysql的所有数据库,然后点击数据库名就可以实现获取该数据库里的所有表。
这是我一个晚上做出来的,因为要去做其他的项目,所以只实现了对特定数据库的xml操作,不过我觉得这是学习xml挺不错的参考代码和文档
•如何设计一个类flappy-bird小游戏:【python实战】使用pygame写一个flappy-bird类小游戏 | 设计思路+项目结构+代码详解|新手向•DFS 算法是怎么回事,我是怎么应用于该小游戏的:【深度优先搜索】一个实例+两张动图彻底理解DFS|DFS与BFS的区别|用DFS自动控制我们的小游戏•BFS 算法是怎么回事,我是怎么应用于该小游戏的:【广度优先搜索】一个实例+两张动图彻底理解BFS|思路+代码详解|用DFS自动控制我们的小游戏•强化学习为什么有用?其基本原理:无需公式或代码,用生活实例谈谈AI自动控制技术“强化学习”算法框架•方案一:构建一个简单的卷积神经网络,使用DRL框架tianshou匹配DQN算法•方案二:构造一个简单的神经网络,以DQN方式实现小游戏的自动控制
下面主要用到了java中的swing进行界面设计,当然java的GUI不如C#的设计的好看,不过原理还是要会的。 1. GUI Graphical User Interface 用户图形界面 a) 主要包括菜单栏,窗口,工具条,按钮等; b) Java提供了两个GUI开发的包 java.awt 和 java.swing, java.awt中的Component抽象类是javaGUI中所有类的父类。它规定了所有GUI组件的的的基本特性 j ava.swing 是在java.aw
不知道为什么,原生的Swing有JFileChooser,JColorChooser但是却没有JFontChooser。虽然网上有很多类似的实现,但是鉴于是作业,我还是自己写了一个简单的FontChooser来练练手。而且真正写起来也不是那么的顺畅,果然还是发现了很多的坑。。。
1 2 import javax.swing.*; 3 4 import java.awt.*; 5 class Win extends JFrame 6 { 7 JTextField mytext; // 设置一个文本区 8 JButton mybutton; 9 JCheckBox mycheckBox[]; 10 JRadioButton myradio[]; 11 ButtonGroup group
这个是表现层的主界面。 /* * ListPanel.java * */ package cn.hncu.addr.ui; import javax.swing.JFrame; imp
因为运行的过程中随时会有客户端连上服务器,所以服务器端需要一个线程来等待客户端的链接。其次,每一个服务器端的用户随时都有可能和服务器就发送消息,因此每新增一个用户就需要为该用户建立一个聊天的线程。 服务器端还需要具备踢人、群发消息、发送消息的功能。这些功能的本质其实就是发送对应格式消息(消息格式见下文),只是发送的消息格式不同罢了。
了解 java是面向对象编程 JDK :开发者工具 JRE: Java运行环境 JVM:Java虚拟机
🦄六一儿童节是一个充满欢乐和祝福的节日,我们都希望给孩子们送上最美好的礼物。我是一名编程爱好者,我用Javaswing写了一个关于六一儿童节的鲜花贺卡,它可以在电脑屏幕上显示出各种颜色和形状的花朵,还可以播放动画和音乐。我想通过这个贺卡,表达我对孩子们的爱和祝福,也希望能激发他们对编程的兴趣。在这篇博客中,我将和大家分享我是如何设计和实现这个贺卡的,以及我在这个过程中遇到的一些挑战和收获❤️
利用Java GUI的组件类、容器类和辅助类设计所选项目的用户界面,并在深入理解并掌握事件驱动程序设计原理的基础上,实现事件驱动的程序设计。
Java-单机版的书店管理系统(练习设计模块和思想_系列 四(1) ): http://blog.csdn.net/qq_26525215/article/details/51116429
平常会遇到编写文档类的工作,尤其是数据库的,要把每张表的详细字段列出来,手写实在费劲,从网上找了很多,都没有那种直接GUI输入参数,一键生成的,所以自己花时间做了一个,功能很简陋,但是基本需求可以实现。
这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下
Gatling 是一个开源的基于 Scala、Akka、Netty 实现的高性能压测框架,较之其他基于线程实现的压测框架,Gatling 基于 AKKA Actor 模型实现,请求由事件驱动,在系统资源消耗上低于其他压测框架(如内存、连接池等),使得单台施压机可以模拟更多的用户。此外,Gatling 提供了一套简单高效的 DSL(领域特定语言)方便我们编排业务场景,同时也具备流量控制、压力控制的能力并提供了良好的压测报告,所以有赞选择在 Gatling 基础上扩展分布式能力,开发了自己的全链路压测引擎 MAXIM。全链路压测中我们主要模拟用户实际使用场景,使用 HTTP 接口作为压测入口,但有赞目前后端服务中 Dubbo 应用比重越来越高,如果可以知道 Dubbo 应用单机水位将对我们把控系统后端服务能力大有裨益。基于 Gatling 的优势和在有赞的使用基础,我们扩展 Gatling 开发了 gatling-dubbo 压测插件。
这是几年前,新浪的一个面试题~要求是3天之内实现~ 通过TCP 协议,建立一个服务器端。
采用EasyPOI技术解析Excel,我感觉这个还是挺好用的,也可能是我没有接触过更好的技术了[捂脸]
一、准备工作 首先处理以下Calc函数,以方便查看。其实就是变量重命名工作,此时多亏了VS2005的帮忙。 输入字符串str,输入是字节数组引用; i是字节数组的循环变量;在后面的正式的程序中,将使用大K做为字节数组的定位变量。 k限定了最大字符串是18,原文是k<90,k+=5,缩小5倍就是了; n其实就是字符在字符表中的位置,这个字符表其实可以说是一个密码表了; j,莫名其妙的j,其实它也正好是这个算法的关键。 1public static void Calc(string str,
Java-单机版的书店管理系统(练习设计模块和思想_系列 一 ): http://blog.csdn.net/qq_26525215/article/details/51073546
之前忙于期末考试,所以没有时间把期末之前的课设写成博客。这次的课设虽然给定了可选题目,但是老师说做什么都可以。看见可选题目里有关于学分管理系统,考虑到时间紧迫,同时兼顾期末考试,故选择了这个社团学分管理系统。这里我也很感谢自己在校团委管理全校活动学分的同学为我这次课设提供了真实的学分数据。资源已经上传,如要下载请移步:http://download.csdn.net/detail/qq_30091945/9892876
上一次一个小伙伴私聊我,说:有没有swing版本的学生管理系统让他参考一下。 这次给他安排上啦! 首先来看看有什么文件吧(得要有个适合自己的命名规则很重要,如果自己都看不懂,那么别人就更难懂啦!) 📷 //我根据图片的信息来写文件内容吧! 这是dao方法 package com.zking.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.
在介绍脏读,不可重复读,幻读现象之前,我们先来了解MySQL的事务隔离级别,因为脏读,不可重复读,幻读等现象都是由数据库里的事务隔离级别来决定是否可能发生的。
ActivityManager: 对Activity交互提供了接口, 利用它可以方便的对Memory, Processes, Task, Service 等进行管理,. 这里对Delphi接口进行了翻译,详细信息可以访问官方网站。
在很多应用场景中,我们需要处理地理位置相关的数据,例如附近的人、附近的商家、附近的车辆等等。Redis提供了一种叫做地理位置的数据结构,可以很好地解决这类问题。
领取专属 10元无门槛券
手把手带您无忧上云