【发布时间】:2017-06-20 01:56:07
【问题描述】:
在 HandlerClass 实现 ActionListener 的行出现错误,提示“此行有多个标记 - 令牌上的语法错误,删除这些 代币 - 语法错误,插入 '}' 以完成 Block"
我哪里错了?
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Gui extends JFrame {
private JTextField tf;
private JCheckBox boldbox;
private JCheckBox italicbox;
public Gui() {
super("Hakuna Matata");
setLayout(new FlowLayout());
tf = new JTextField("This is a sentence");
tf.setFont(new Font("Serif", Font.PLAIN, 14));
add(tf);
boldbox = new JCheckBox("bold");
italicbox = new JCheckBox("italicbox");
add(boldbox);
add(italicbox);
HandlerClass handler = new HandlerClass();
boldbox.addActionListener(handler);
italicbox.addActionListener(handler);
}
private HandlerClass implements ActionListener {
public void ActionPerformed(ActionEvent event) {
Font font = null;
if(boldbox.isSelected() && italicbox.isSelected())
font = new Font("Serif", Font.BOLD + Font.ITALIC, 14);
else if(boldbox.isSelected())
font = new Font("Serif", Font.BOLD, 14);
else if(italicbox.isSelected())
font = new Font("Serif", Font.ITALIC, 14);
else
font = new Font("Serif", Font.PLAIN, 14);
tf.setFont(font);
}
}
【问题讨论】:
标签: java eventhandler implements