import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.net.*;
import javax.swing.border.LineBorder;
public class LabelFrame extends JFrame {
private final JTextField urlString;
private final JButton loadButton;
String content;
public LabelFrame() {
super("WebStalker");
setSize(600, 600);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setLayout(new FlowLayout());
urlString = new JTextField("https:Search",30);
loadButton = new JButton("Load");
JPanel panel = new JPanel();
JLabel label = new JLabel("URL");
panel.add(label);
panel.add(urlString);
panel.add(loadButton);
this.add(panel);
pack();
setLocationRelativeTo(null);
TextFieldHandler tHandler = new TextFieldHandler();
ButtonHandler bHandler = new ButtonHandler();
urlString.addActionListener(tHandler);
loadButton.addActionListener(bHandler);
urlString.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
urlString.setText("");
}
});
}所以这是我的代码的一部分,我得到了一个错误。编译它时,我得到以下错误:不是抽象的,也不覆盖FocusListener中的抽象方法FocusListener(FocusEvent)。
我不知道怎么回事。有人能跟我解释一下吗?提前谢谢。
发布于 2016-01-09 11:28:23
FocusListener是一个接口,它声明了两个方法focusGained和focusLost,但是在您的匿名类实现中,您只实现了focusGained。您也只需要实现focusLost。
或者,您可以从java.awt.event.FocusAdapter派生。
urlString.addFocusListener(new FocusAdapter() { ...它为focusGained和focusLost提供了空的默认实现,因此允许您只指定您感兴趣的方法。
https://stackoverflow.com/questions/34692837
复制相似问题