0
필자가 작성한이 코드에 약간의 문제가 있습니다. 내가 원하는 것은 포커스 리스너가 사용자가 특정 텍스트 상자에 포커스가 있는지를 감시하는 것입니다. 그렇지 않으면 문자열 "Search ..."가 표시됩니다. 그러나 focusGained
및 focusLost
에있는 searchText
의 두 인스턴스는 인식되지 않습니다. 그 이유는 searchText
이 gui
방법의 범위에 있기 때문입니다. 유일한 문제는 및 focusLost.
에 searchText
을 사용할 수있는 방법을 모르겠다. 이미 시도한 바 있는데 작동하지 않는 것 같습니다.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