Java中GUI编程之JTextField文本框提示文字设置效果

您所在的位置:网站首页 pdf中文本框的框体颜色 Java中GUI编程之JTextField文本框提示文字设置效果

Java中GUI编程之JTextField文本框提示文字设置效果

2023-06-04 03:50| 来源: 网络整理| 查看: 265

最近在学GUI编程,遇到了文本框的提示文字问题,想了一下,思路还是很简单的,话不多说,咱们直接开整!

实现效果:当该文本框失去焦点且无内容时,显示该提示文字。如果用户点击了该文本框(该文本框获取到了焦点),自动清除提示文字。以此达到提示效果。

首先先创建好一个JTextField的对象

JTextField text = new JTextField("提示文字",10);

然后我们就开始做该文本框的监听事件,这里主要是针对焦点(光标)来进行监听。

text.addFocusListener(new FocusListener() { public void focusGained(FocusEvent e) { //得到焦点时,当前文本框的提示文字和创建该对象时的提示文字一样,说明用户正要键入内容 if (text.getText().equals("提示文字")){ text.setText(""); //将提示文字清空 text.setForeground(Color.black); //设置用户输入的字体颜色为黑色 } public void focusLost(FocusEvent e) { //失去焦点时,用户尚未在文本框内输入任何内容,所以依旧显示提示文字 if (text.getText().equals("")){ text.setForeground(Color.gray); //将提示文字设置为灰色 text.setText("提示文字"); //显示提示文字 } } }

看完思路以后可以结合上方的GIF动图来进行脑补,记得看下方注意事项!

注意:当我们创建了一个文本框之后,打开该文本框所在的界面,光标则会自动定位到文本框处(也就是说你打开该界面的一瞬间就让该文本框获取到了焦点),这样一来,我们为该文本框设置的提示文字就没有用了(因为我们设置了当文本框获取到焦点时清空文本框的操作)。解决此问题十分简单,我们可以主动的将焦点定位到文本框前的JLable标签上,设置方法 【标签名.requestFocus();】 这样就完美解决了这一问题。赶紧去试试吧!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3