这个小小的点击事件,也让我想了一个晚上,不禁让我怀疑我的脑袋装的到底是什么。由于经验不足,
所以可能采用的方法不是最优解。大家将就着参考下。大概的效果如下,什么?别想歪了,我说的是文本
框的点击清除,不是那个华丽的界面。(Swing快哭了 Q~Q)
1. 先来写好一个基本的界面,为了节省空间。这里就不设置按钮了。
package demo; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class T1 { public static void main(String[] args) { T1 t = new T1(); t.buildGui(); } public void buildGui() { JFrame f = new JFrame("登录界面"); JPanel userPanel = new JPanel(); JTextField userText = new JTextField(10); // 设置字宽为10而不是10像素 userText.setText("QQ号码/手机/邮箱"); // 设置文本框的提示信息 userText.setForeground(Color.lightGray); // 设置前景色为浅灰色(提示信息的颜色) userPanel.add(new JLabel("用户:")); userPanel.add(userText); JPanel passPanel = new JPanel(); JTextField passText = new JTextField(10); passText.setText("密码"); passText.setForeground(Color.lightGray); passPanel.add(new JLabel("密码:")); passPanel.add(passText); f.add("North", userPanel); f.add("Center", passPanel); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 当界面关闭时结束javaw.exe进程 f.setSize(400, 300); // 设置界面为400x300像素(长x宽) f.setVisible(true); // 设置界面可见性, 少了这句或设为false窗口不显示 } }
2. 接下来就是让焦点转移,昨晚一直以为要点击才能。后来发现按Tab键也能清除。
所以才知道不是使用鼠标事件的方法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 package demo; 2 3 import javax.swing.*; 4 import java.awt.*; 5 import java.awt.event.*; 6 7