在Java中的文本框上绘制对角线

时间:2009-12-08 18:32:15

标签: java jtextfield

是否可以在JTextField(或任何其他Swing控件)上绘制对角线而不仅仅将面板放在文本框上?

1 个答案:

答案 0 :(得分: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可以帮助您开始使用此方法。

因此,根据您的要求,您有两种不同的选择。