首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java Swing用户界面组件文本输入:文本域+密码域+格式化的输入域

Swing提供了JPasswordField类来实现这样的文本域。 密码域是另一个模型-视图-控制器体系模式的例子。...首先,不是每个由有效输入字符组合的字符串都是有效的数值,比如--3和3-3就是非法的,尽管它们都由有效输入字符组成。其次,也是更重要的是,有些改变文本的方法与击键无关。...所以,需要监视以保证用户粘贴的是一个有效的字符。很明显,试图通过过滤击键来确保文本域中内容的有效性是一件很困难的事情。当然这也不是应用程序程序员要关注的问题。...用户输入后最终决定离开这个区域,也许是通过鼠标点击另一个组件。于是,文本域就失去焦点(lose focus)。I型光标在文本域中也不见了。键盘输入将作用于另一个组件。...也就是说,无效日期(February 31,2002)将滚动到下一个有效日期(March 3, 2002)。这种行为可能会让用户感到吃惊。

4K10

程序员,你为何工作为什么工作把自己当成一个企业别矫情,无效的努力没毛线用小结

为什么工作 "你为什么工作?“ "这不废话吗?我不工作你养我啊?工作就是为了赚钱养家,要不是出于经济压力,我才懒得工作”? 谈起工作的价值这个话题,很多人都会觉得很无聊。...那些为了生活意义选择工作的都是段子手编造出来的。现实中,工作是无聊的,枯燥的,令人难以忍受的。所以“窃·格瓦拉”才会选择偷电动车。 ?...你,是在为自己工作。 ? 为什么工作 把自己当成一个企业 必须将自己当成一个企业,而将公司当成你的客户。 身份转变了,心态也就变化了。...有些人还以为是自己赚了公司的便宜,其实是浪费了自己的时间 别矫情,无效的努力没毛线用 前阵子,一篇《凌晨三点不回家》的文章传爆了朋友圈,其中有一个案例,一个姑娘深夜加班赶ppt,做了整整80页,然后电脑蓝屏...本文基于阅读《软技能-代码之外的生存指南》有感写,推荐你阅读此书。关于此书的上篇笔记是:程序员,生活不只有代码

51760
您找到你想要的搜索结果了吗?
是的
没有找到

脏读,不可重复读,幻读

简而言之会出现脏读现象就是因为用户能够读取到未提交到数据里的数据,也即是无效的数据,然后对这些无效的脏数据进行了操作,所以这些操作都是无效或者错误的。...2.现在我们使用其中一个用户,往表格里插入一条数据,但是不执行commit命令,会发现另一个用户也能读取到这个未提交的数据: ? ? ?...不可重复读现象: 在一个事务内,多次读同一个数据。在这个事务还没有结束时,另一个事务也访问该同一数据。那么,在第一个事务的两次读数据之间。...2.现在我们使用其中一个用户,往表格了里表格里插入一条数据,但是不执行commit命令,同样的会发现另一个用户不能读取到这个未提交的数据: ?...不可重复读和幻读的区别: 不可重复读强调的是每次读取的是相同位置的数据,且该数据在另一个事务下被修改。注重的是修改。这个位置指的是哪一行、哪一个字段的数据。

1.7K10

Java事件处理,低级事件类型:键盘事件+焦点事件,你真的懂吗?

焦点事件 用鼠标可以指向屏幕上的任何一个对象。但是在使用键盘输入时,敲击键盘必须定位于一个特定的屏幕对象。...正像活动窗口可以采用某种方式进行辨别一样,大多数的Swing组件在具有焦点的时候,也可以拥有一个明显的提示。文本域会显示闪烁的光标;按钮上的标签周围有一个矩形等等。...在一个窗口中,最多只有一个组件拥有焦点。如果用户点击另一个组件,那么刚才拥有焦点的组件就会失去(lose)焦点,被点击的组件就会获得焦点。用户还可以使用TAB键在各个组件上轮流切换焦点。...幸运的是,大多数应用程序程序员不必过分地为焦点处理担忧。在JDK 1.4之前,对组件焦点事件的捕获主要用于核查错误与校验数据。假设在一个文本域中包含信用卡号。...可以通过调用Component类中的requestFocus方法,利用程序将焦点从一个组件移到另一个组件上。然而,如果组件没有包含在当前的焦点窗口中,其行为将与平台有关。

3.7K30

关于可用性测试

易用性是一个广义术语,还有很多其他内容。本文中,您将了解到可用性和可用性测试的各个方面。 在详细讨论可用性测试之前,您需要了解为什么可用性如此重要。...为什么我们需要关注可用性? 根据最新统计: 在第一时间无法弄清楚网站功能后,有46%的人离开了网站。 44%的人因为发现网站中的引导性信息不足离开该网站。...换句话说,如果用户访问您的网站,该网站无法以直观,有效和令人满意的方式达到他们的目标,他们很可能会投入对手的怀里。用户体验是使在线业务成功的最重要方面之一。这就是在可用性测试需要测试的内容。...对于任何网站,您都可以根据实现特定目标所需的击键次数来衡量效率。具有清晰性和可实现目标的较少击键次数被认为是最佳的方案。 导航是确定效率的因素之一。网站导航的直观程度如何?...另外,它还会使您进入另一个快递跟踪工作流程,以最终获得产品。在这种情况下,这是一个比较理想的方案,但是,如果某处有一些不必要的导航页面,则需要减少该页面占比。

93730

windows11开机后输入法CTF无法自动运行的解决方法

最近更新了win11的专业版,但是发现不能打字,敲击键盘只能是字母而且开始菜单的位置也不能搜索,无法打字,按照以往的经验来讲应该是输入法故障,于是乎重新安装,重启电脑无效,后来想起是不是启动的时候把输入法禁止了...此软件,双击运行之后就能打字了,但是这样原来我就得每次重启电脑先去运行下输入法程序,这样的用户体验就不太好了,于是乎我就想办法让软件开机后自动运行,按照网上的教程方法有很多,比如: 第一种方法(基本无效...第二种方法(多数无效): 我们让“ctfmon.exe开机自动启动”,设置系统配置使用程序,可以单击开始-运行-输入“msconfig”,回车在弹出的“系统配置”窗口 ,选择“启动”页,点击“打开任务管理器...解决方法(亲测有效): 我们需要打开win系统注册表编辑器,win菜单(或者win+r) 输入“regedit”,回车打开“注册表编辑器”。...至此教程才算完美解决win11开机后不能自动运行输入法程序的问题,发现升级了最新版的win11问题还是挺多的,感觉win11不是那么稳定还不如win10好用,慢慢折腾吧,有问题就解决问题,可能你会问为什么不直接说第三方方法呢

1.9K40

Linux学习-文件操作

vim filename就可以新建一个文件, 敲击键盘字母i,进入写作模式。写完后,敲击键盘Esc, 退出写作模式,然后输入:w (会显示在屏幕左下角),回车保存。...vim的常用方法,以后会单写一个,这里点到为止。 Linux下文件操作 常用的文件操作有移动文件到另一个文件夹、复制文件到另一个文件夹、文件重命名等。...data: first.fa ehbio_project: test.fa rename: 文件重命名 (常用于批量重命名,不同的系统可能用法略有不同,使用前先man rename查看使用方法) # 进入另一个目录...,运行结果会放置在反引号所在的位置 # 建立软连接,把当前目录下的ehbio2.fa,链接到上一层目录的data下面 # 这是一个无效的软连接, ct@ehbio:~/ehbio_project$ ln.../data/ehbio2.fa" : 文件已存在 # 上面的错误信息时,已经存在这么一个链接了(虽然是无效的),但再建新的链接时还会提示 # 使用`-f` (force)强制覆盖已有的链接 ct@ehbio

2.3K70

在王者荣耀角度下分析面向对象程序设计B中23种设计模式之生成器模式

在王者荣耀这款游戏中,玩家可以根据自己的喜好来调整页面布局,比如有的玩家觉得左侧出装顺手,而有的玩家则觉得右侧出装顺手;再比如说玩家在局内想要通过展开地图向队友发送信号时,有些玩家觉得地图左侧展开操作顺畅,另外一些玩家觉得右侧展开操作顺畅...,实现该接口的类将负责创建布局结果对象,也就是说,将布局结果对象的创建过程封装在另一个类中(像这种封装一个对象的创建过程的类称作生成器),从而实现满足所有玩家对于出装、地图展开不同布局需求的目的。...当系统准备为用户提供一个内部结构复杂的对象时,就可以使用生成器模式,使用该模式可以逐步的构造对象,使对象的创建更具弹性,生成器模式的关键是将一个含有多个组件对象的创建分成若干个步骤,并将这些步骤封装在一个称作生成器的接口中...生成器模式将对象的构造过程封装在具体生成器中,用户使用不同的具体生成器就可以得到该对象的不同表示; ②生成器模式将对象的构造过程从创建该对象的类中分离出来,使用户无需了解该对象的具体组件; ③可以更加精细有效地控制对象的构造过程...,生成器将对象的构造过程分解成若干步骤,这就使程序可以更加精细有效地控制整个对象的构造; ④生成器模式将对象的构造过程与创建该对象类解耦,使对象的创建更加灵活有弹性; ⑤当增加新的具体生成器时,不必修改指挥者的代码

76810

在王者荣耀角度下分析面向对象程序设计B中23种设计模式之生成器模式

在王者荣耀这款游戏中,玩家可以根据自己的喜好来调整页面布局,比如有的玩家觉得左侧出装顺手,而有的玩家则觉得右侧出装顺手;再比如说玩家在局内想要通过展开地图向队友发送信号时,有些玩家觉得地图左侧展开操作顺畅,另外一些玩家觉得右侧展开操作顺畅...,实现该接口的类将负责创建布局结果对象,也就是说,将布局结果对象的创建过程封装在另一个类中(像这种封装一个对象的创建过程的类称作生成器),从而实现满足所有玩家对于出装、地图展开不同布局需求的目的。...当系统准备为用户提供一个内部结构复杂的对象时,就可以使用生成器模式,使用该模式可以逐步的构造对象,使对象的创建更具弹性,生成器模式的关键是将一个含有多个组件对象的创建分成若干个步骤,并将这些步骤封装在一个称作生成器的接口中...生成器模式将对象的构造过程封装在具体生成器中,用户使用不同的具体生成器就可以得到该对象的不同表示; ②生成器模式将对象的构造过程从创建该对象的类中分离出来,使用户无需了解该对象的具体组件; ③可以更加精细有效地控制对象的构造过程...,生成器将对象的构造过程分解成若干步骤,这就使程序可以更加精细有效地控制整个对象的构造; ④生成器模式将对象的构造过程与创建该对象类解耦,使对象的创建更加灵活有弹性; ⑤当增加新的具体生成器时,不必修改指挥者的代码

58300

java swing项目桌面软件还是蛮香的,至少有了我自己的桌面软件|Java 开发实战

最近利用空闲时间自己琢磨了一下java swing 编程,其实在从事javaweb之前我一直向往的就是java swing 开发,不知道为什么可能当时觉得Windows上的exe程序很是神奇,关于windows...今天看了看自己的java swing的程序,感觉写的还不错,但是发现现在遇到一个瓶颈问题,就是jtable的使用,由于一开始概念不理解现在jtable得重新写,之前我吧数据放在jtable上了,但是真正开发的...JTable数据显示java swing中jtable是mvc形式的,所以jtable仅仅是数据的显示,真正和数据绑定的却是TableModel这个接口,我们先看看这个接口的内部有哪些方法,这样我们心里才有个底...众多周知jtable中常用的两种构造函数一个是数组另一个是vector,这两种构造函数中都是采用了匿名内部类实现tablemodel,前者用的是AbstractTableModel,后者是DefaultTableModel...DefaultTableModel有事继承了AbstractTableModel,所以我们平时如果自定义model的话,都会去继承AbstractTableModel的。

16610

Java EE开发四大常用框架

Spring的架构性的好处     Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。...,人们对于新奇的 AOP关注映射至Spring上,使得人们对于Spring的关注集中在它的AOP框架上,虽然有所误解,但也突显了Spring的另一个令人关注的特色。    ...而且还可以获得另一个好处,即代码不用关心要使用的数据库种类(否则的话甚至必须知道)。我所在的公司就曾有过在开发过程后期被迫更换数据库厂商的经历。...Swing是第二代GUI开发工具集,AWT采用了与特定平台相关的实现,绝大部分Swing组件却不是。...JComponent类是Swing组件的基类,JComponent继承自Container类,因此,所有的Swing组件都是AWT的容器。Swing采用了MVC设计模式。

1.6K10

斯坦福大学密码学-认证加密 07

没有完整性,一个CPA安全的加密不可能提供私密性。 image.png 选择密文攻击举例。 有一个远程终端的应用,每次用户敲击键盘,一个加密的键盘输入被送入服务器。...每当浏览器发送一个记录给服务器,浏览器会增加它的 的值,当服务器接收到该数据时,则会增加它的 的值。 目的:为了阻止重放攻击 image.png 加密。...image.png 坏记录mac警告对应于解密算法输出拒绝符号 ,意思是密文是无效的,只要无法区分为什么密文被拒绝了,换句话说,就是解密者说了拒绝的事实,但它不说为什么会拒绝。...TLS解密过程中,先解密再检查补齐,如果补齐无效,加密中止并产生一个错误。如果补齐有效,则检查mac,如果mac无效,加密中止,产生一个错误。这就造成了一个计时攻击。比较警告信息生成的用时。...如果时间较短,补齐无效。如果时间较长,mac无效。 image.png padding oracle image.png 先扔掉 c[2],想猜测m[1]的最后一个字节。

2.1K00

怎样区分条码枪输入后触发的回车与键盘回车

今天在做条码枪扫描商品条码来选择商品时,发现有一个矛盾:条码枪其实是模拟键盘事件的:先模拟敲击键盘,输入它所扫描到的条码,在输入完毕后,再模拟敲击键盘的回车事件。...在经过一些思考与尝试后,用以下的办法解决了,这里先说一下思路,代码稍后整理一下再贴上来:在扫描枪扫描一个条码后,触发的事件中,条码文本框本身的回车事件是会先触发的,继而再到页面的回车事件触发。...最初的想法是在文本框的回车事件响应方法中中止整个页面的事件监听,不过试过多个方法,发现无效,所以只有想一些HACK出来解决了。嘿嘿。...我是这样做的,有意见或建议者,希望能不吝指点:原先的程序中,在用户通过条码枪录入一个条码后,触发AJAX请求,去服务器取这个条码的商品回来,然后生成一个record加入到商品列表的GridPanel中,...当鼠标焦点在条码输入框的时候,它的值一定是空的,当它失去焦点时,我们可以人为让它的值为空,再当页面的回车触发时,我们就可以通过条码输入框的值是否为空也判断本次回车空间是由条码枪触发还是由用户按键盘触发了

2.4K10

《Java 2 图形设计卷Ⅱ- SWING》第2章 Swing的基本知识

Swing通过把一个缺省关闭操作与每一个JFrame实例相关联来使窗口的关闭事件较容易处理。...首先,我们要讨论为什么Swing是线程不安全的,然后介绍在Swing开发过程中单线程设计所带来的结果。  让我们面对这个事实,甚至在java中,开发多线程的应用程序也是不容易的。...Swing是线程不安全的一个主要原因是为了简化扩展组件的任务。  Swing是线程不安全的另一个原因是由于获取和释放锁定及恢复状态所带来的开销。...其效果是允许事件派发线程调用另一个线程中的任意一个代码块。  ...如果在另一个操作能够在另一个线程上执行之前必须从一个组件获取信息,则InvokeAndWait方法是很有用的。   例如,例2-14列出的小应用程序总是更新进度条的值不管该新值是否与当前的值相同。

2.4K20

Java事件处理基础实例:处理按钮点击+捕获窗口事件+改变观感

在下一章中,将阐述如何将Swing提供的多个组件组织在一起,并全面地讲述这些组件产生的事件。 事件处理基础 任何支持GUI的操作环境都要不断地监视敲击键盘或点击鼠标这样的事件。...例如,按钮可以发送一个ActionEvent对象,窗口可以发送WindowEvent对象。...一个是将面板存储在ColorAction对象中,并在ColorAction构造器中设置它;另一个是将ColorAction作为ButtonPanel类的内部类。...而使用传统的if. . .else语句的解决方案也需要引用动作监听器存储的上述颜色对象,只不过这是一个局部变量,不是实例域。 我们认为现在已经到了习惯使用内部类的时代了。...我们建议为事件处理设计一个专门的内部类;不要将一个已经存在的类转换为监听器,即使匿名内部类也有一定的应用市场。 下面是一个说明使用匿名内部类简化代码的例子。

3.4K30

Java Swing用户界面组件:复选框+ 滑块+组合框+边界+单选按钮

图9-15所示的程序中有两个复选框,其中一个用于打开或关闭字体斜体属性,另一个用于加粗属性。注意第二个复选框有焦点,这一点可以由它周围的矩形框看出。...单选按钮 在前一个例子中,对于两个复选框来说,用户可以选择一个、两个或者两个都不选。在很多情况下,我们需要用户只选择几个选项当中的一个。当用户选择另一个的时候,前一个就会自动地取消选择。...int参数,另一个带double参数。...在SpinnerListModel中没有提供逆转顺序的方法,然而可以使用一个临时的匿名子类实现这种结果: 试试这两个版本,看看哪个更合适。 微调控制器的另一个应用就是让用户增减日期。...参数:initval 初始值 minimum 最小有效值 maximum 最大有效值 stepSize 每次微调的增量或减量 javax.swing.SpinnerListModel 1.4 • SpinnerListModel

6.7K10

【错误记录】Java AWT 图形界面编程报错 ( Exception in thread “main“ java.awt.AWTError: BoxLayout can‘t be shared )

(BoxLayout.java:465) at javax.swing.BoxLayout.invalidateLayout(BoxLayout.java:249) at javax.swing.BoxLayout.addLayoutComponent...BoxLayout.PAGE_AXIS * * @exception AWTError 如果axis的值无效...panel1); , 而是创建和设置布局管理器的代码 panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); 创建布局管理器 , 构造函数的第一个参数...BoxLayout(frame, BoxLayout.X_AXIS) 代码创建布局管理器 , 显然不符合要求 , 如果要为 Panel 容器设置布局管理器 , 创建时需要传入 Panel 实例对象作为第一个参数..., 不是 Frame 窗口实例对象 ; 将 Frame 实例改为 Panel 对象即可 ; 三、解决方案 ---- 按照上述问题分析 , 将 Frame 实例改为 Panel 对象 ; 修改后的代码

43410
领券