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