Java JTextField更改边界

Java JTextField更改边界,java,java-7,jtextfield,Java,Java 7,Jtextfield,如何更改JTextField的边框颜色?我尝试了someField.setboorder(新的LineBorder(Color.RED,2)),但它给了我 不匹配错误(不兼容的类型:javafx.scene.paint.Color无法转换为java.awt.Color) 感谢您提前回复。请查看您的导入部分。您应该像这样导入java.awt.Color: import java.awt.Color; import java.awt.Color; import javax.swing.Border

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

不匹配错误(不兼容的类型:javafx.scene.paint.Color无法转换为java.awt.Color)


感谢您提前回复。

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

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

textField.setBorder(BorderFactory.createLineBorder(Color.RED, 2));
如果要使用
LineBorder
类创建边框,则可以执行以下操作:

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

textField.setBorder(new LineBorder(Color.RED, 2));
另一个选项是使用
BorderFactory
类创建边框,如下所示:

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

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

如果您的代码需要同时引用
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));

导入
java.awt.Color
而不是“javafx.scene.paint.Color”。这是两个不同的用户界面库,因此您必须确保导入正确的库以供使用。将Color类的导入包更改为java.awt.Color