这个简单的Java代码块有问题。我应该编写一个显示JFrame的应用程序,其中包含来自A Christmas Carol的开篇句子。当用户单击按钮时,它将使用setText()方法在可用的JLabel中显示包含报价的书的标题。
但是,当我进行编译时,出现了我的行希望为按钮添加ActionListener的错误。我觉得我缺少一些简单的东西,但是我无法放置它。下面是我的源代码。感谢您的帮助。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JBookQuote extends JFrame{
FlowLayout flow = new FlowLayout();
JLabel msg1 = new JLabel("To begin with,");
JLabel msg2 = new JLabel("Marley was dead.");
JButton button = new JButton("Click for source");
JLabel msg3 = new JLabel();
String title = "** A Christmas Carol **";
public JBookQuote() {
add(msg1);
add(msg2);
add(button);
add(msg3);
setLayout(flow);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e)
{
msg3.setText(title);
}
});
public static void main(String[] args) {
JBookQuote aFrame = new JBookQuote();
aFrame.setSize(300, 150);
aFrame.setVisible(true);
}
}
答案 0 :(得分:0)
您将代码添加到按钮的代码不在函数中,我认为您希望在构造函数中使用它。