如何更改JTextField的边框颜色?我尝试过someField.setBorder(new LineBorder(Color.RED,2))
,但它给了我
mismatcherror(不兼容的类型:javafx.scene.paint.Color无法转换为java.awt.Color)。
谢谢您的回答。
答案 0 :(得分:1)
请检查您的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));
答案 1 :(得分:0)
如果您的代码需要同时引用java.awt.Color
和javafx.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));