2009-12-08 56 views

回答

5

创建一个自定义JTextField并覆盖paint()方法。例如:

public void paint(Graphics g) 
{ 
    super.paint(g); 
    // do custom painting here 
} 

注意:通常自定义绘画是通过覆盖组件的paintComponent(..)方法来完成的。所以你也可以这样做:

public void paintComponent(Graphics g) 
{ 
    super.paintComponent(g); 
    // do custom painting here 
} 

和结果将是相同的,因为JTextField没有任何子组件添加到它。但是我建议使用paint(...),因为如果您想在支持子组件的组件(如JPanel)上绘制对角线,此方法可以工作。请通过阅读Custom Painting上的Swing教程中的部分,确保您了解这两种方法之间的区别。

或者另一种选择是创建一个自定义荧光笔,在选定的文本上绘制对角线。 RectanglePainter可以让你开始使用这种方法。

因此,根据您的要求,您有几个不同的选项。