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

标签 java jtextfield

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

最佳答案

创建自定义 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可以让您开始使用这种方法。

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

关于java - 在 Java 中的文本框上绘制对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1868947/

相关文章:

java - iText 填充我的堆大小导致应用程序因 OOM 崩溃

java - 在for循环中创建JTextFields以逐步计算数字的pow

java - 为什么 DocumentFilter 没有给出预期的结果?

java - JTextField on Key Entered 闪烁黑色

java - Domino Designer 不能 "TeamDevelopment > Sync with On-Disk Project"

java - java Date 和 LocalDateTime 中一个月的天数

java - 在java中,静态多态方法是否可以应用于父类(super class)

java - Liquibase 跳过生成的变更集

java - 通过选择 JComboBox 选项动态添加 JTextFields 和 JLabels

java - JTextField 上的序列结果