Я только что написал actionPerformed для моей кнопки сохранения, которая сохранит данные в arraylists, но перед этим я должен быть уверен, что все поля не пусты, поэтому, если текстовое поле пусто, я хочу показать DialogBox и поставить все пустое текстовое поле в красном фонеОператор java if не работает внутри if (item instanceof nomclass)
вот мой код
//Field outside constructor
private List<Component> comp;
//inside constructor
comp = getAllComponents(this);
//method
public static List<Component> getAllComponents(final Container c) {
Component[] comps = c.getComponents();
List<Component> compList = new ArrayList<Component>();
for (Component comp : comps) {
compList.add(comp);
if (comp instanceof Container)
compList.addAll(getAllComponents((Container) comp));
}
return compList;
}
``
//actionperformed
if(e.getSource() == savebtn){
for(Component item:comp){
if(item.isVisible()){
if(item instanceof JTextField){
JTextField txtField = (JTextField)item;
//here is my problem: with no if statement my program works fine and puts all textfields in red but I want to highlight just empty textfields;
if(txtField.getText() == null)
txtField.setBackground(Color.RED);
}
}
}
}
так как я могу золь это проблема? Большое спасибо
@kocko: Как на земле это дубликат? – Makoto
Если бы вы могли предоставить немного больше тела вашему коду, вы могли бы получить некоторую помощь быстрее. Вы как бы оставляете нас догадываться и делать вывод о том, какие они есть. – Makoto
'instanceof' не работает, если класс не является тем же, отлаживайте, какой класс предназначен для работы, но он не работает. – EpicPandaForce