创建自定义JTextField并覆盖paint()方法.就像是:
public void paint(Graphics g)
{
super.paint(g);
// do custom painting here
}
Run Code Online (Sandbox Code Playgroud)
注意:通常通过覆盖组件的paintComponent(..)方法来完成自定义绘制.所以你也可以这样做:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// do custom painting here
}
Run Code Online (Sandbox Code Playgroud)
并且结果将是相同的,因为JTextField没有添加任何子组件.但是我建议使用paint(...),因为如果你想在支持子组件的组件(如JPanel)上绘制对角线,这种方法会起作用.请阅读自定义绘画上的Swing教程中的部分,确保您了解这两种方法之间的区别.
或者另一种选择是创建一个自定义荧光笔,在所选文本上绘制对角线.该RectanglePainter可以让你开始使用这种方法.
因此,根据您的要求,您有两种不同的选择.