2017-02-14 3 views
0

У меня возникли проблемы с этим кодом, который я пишу. Я хочу, чтобы это было для прослушивателя Focus, чтобы посмотреть, ориентирован ли пользователь на определенное текстовое поле. если нет, будет показана строка «Поиск ...». Однако оба экземпляра searchText в focusGained и focusLost не распознаются. Я думаю, причина в том, что searchText относится только к сфере применения метода gui. Единственная проблема: я не знаю, как сделать searchText доступным для focusGained и focusLost. Я уже пробовал @Override, но это не работает.Проблемы с FocusListener

Если кто-то может помочь мне с этим, было бы весьма полезно. Благодаря!

package org.plugandplay.project.project2_0; 

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.awt.event.MouseEvent; 
import java.awt.event.FocusEvent; 
import java.awt.event.FocusListener; 



public class gui extends JFrame implements ActionListener, FocusListener { 

    public gui() { 
     super("Project 2.0 Indev"); 
     setLookAndFeel(); 
     setSize(300, 300); 
     setVisible(true); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 


     ImageIcon search = new ImageIcon("C:/Users/User/Documents/searchicon.png"); 
    JButton searchButton = new JButton(search); 

    JTextField searchText = new JTextField("Search..."); 

    searchText.addFocusListener(this); 
    searchText.setColumns(15); 



    JToolBar toolbar = new JToolBar("Search..."); 
    toolbar.add(searchText); 
    toolbar.add(searchButton); 


    BorderLayout border = new BorderLayout(); 
    setLayout(border); 
    add("North", toolbar); 

} 
    @Override 
    public void focusGained(FocusEvent ev) { 
     searchText.setText(""); 
    } 

    public void focusLost(FocusEvent ev) { 
     searchText.setText("Search..."); 
    } 

    public void actionPerformed(ActionEvent event) { 



} 

ответ

0

У вас проблема с объемом. Вам необходимо сделать поискСледующий объект:

public class gui extends JFrame implements ActionListener, FocusListener { 

    //put searchText here 
    JTextField searchText; 


    public gui() { 
     super("Project 2.0 Indev"); 
     setLookAndFeel(); 
     setSize(300, 300); 
     setVisible(true); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 


     ImageIcon search = new ImageIcon("C:/Users/User/Documents/searchicon.png"); 
    JButton searchButton = new JButton(search); 
    searchText = new JTextField("Search..."); 
    searchText.addFocusListener(this); 
    searchText.setColumns(15); 
+0

Спасибо! Я буду иметь это в виду в некоторых из моих более поздних проектов – JCWMM

Смежные вопросы