0
我在寫這段代碼時遇到了一些麻煩。我希望它做的是讓Focus Listener觀看以查看用戶是否專注於某個文本框。如果不是,則會顯示字符串「Search ...」。但是,focusGained
和focusLost
中的searchText
這兩個實例都未被識別。我認爲原因是因爲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) {
}
謝謝!我將在後面的一些項目中記住這一點 – JCWMM