JTextField меняет границу - PullRequest
       7

JTextField меняет границу

0 голосов
/ 28 августа 2018

Как я могу изменить цвет границы JTextField? Я пытался someField.setBorder(new LineBorder(Color.RED,2)), но это дает мне

mismatcherror (несовместимые типы: javafx.scene.paint. Цвет не может быть преобразован в java.awt.Color).

Спасибо за ответы заранее.

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Если ваш код должен ссылаться как на 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));
0 голосов
/ 28 августа 2018

Пожалуйста, проверьте ваш 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));
...