繁体   English   中英

JTextField 更改边框

[英]JTextField changing border

如何更改 JTextField 的边框颜色? 我试过someField.setBorder(new LineBorder(Color.RED,2)) ,但它给了我

mismatcherror(不兼容的类型:javafx.scene.paint.Color 无法转换为 java.awt.Color)。

感谢您提前回答。

请检查您的import部分。 你应该像这样导入java.awt.Color

import java.awt.Color;

如果要使用LineBorder类创建边框,则可以执行以下操作:

import java.awt.Color;
import javax.swing.border.LineBorder;

textField.setBorder(new LineBorder(Color.RED, 2));

另一种选择是使用BorderFactory类创建边框,如下所示:

import java.awt.Color;
import javax.swing.BorderFactory;

textField.setBorder(BorderFactory.createLineBorder(Color.RED, 2));

如果您的代码需要同时引用java.awt.Colorjavafx.scene.paint.Color那么如果您尝试将它们都导入,则会出现另一种类型的错误。

$ cat test.java
import java.awt.Color;
import javafx.scene.paint.Color;
public class test {}

$ javac test.java
test.java:2: error: a type with the same simple name is already defined by the single-type-import of Color
import javafx.scene.paint.Color;
^
1 error

一种解决方案是选择一个导入的类,然后在引用类中使用它的任何地方完全限定该类。

在您的特定情况下,由于您的类文件已经导入javafx.scene.paint.Color ,您可能已经拥有引用它的代码。

最简单的方法是用另一个替换一个导入,如果它编译,那么你就完成了。 这意味着你没有引用代码javaf.scene.paint.Color

但是如果它不能编译,那么你不应该导入java.awt.Color 相反,您要做的是将第一个违规代码修改为:

someField.setBorder(new LineBorder(java.awt.Color.RED, 2));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM