永发信息网

添加按钮监视器错误,求解决

答案:2  悬赏:80  手机版
解决时间 2021-04-07 15:33
  • 提问者网友:最美的风景
  • 2021-04-06 21:50
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class a6 extends JFrame implements CaretListener {

private JTextField tf = null;
private JTextArea ta = null;
private JLabel lblPrompt1 = null;
private JLabel lblPrompt2 = null;
private Button Button1;

public a6() {
super("ass");

Container cp = this.getContentPane();

tf = new JTextField(10);
ta = new JTextArea(8,20);
lblPrompt1 = new JLabel("用户名");
lblPrompt2 = new JLabel("文本区");
Button1 = new Button("按钮");
JScrollPane sp = new JScrollPane(ta);

this.getContentPane().setLayout(new FlowLayout());
this.getContentPane().add(lblPrompt1);
this.getContentPane().add(tf);
this.getContentPane().add(lblPrompt2);
this.getContentPane().add(sp);
this.getContentPane().add(Button1);

tf.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String str = ta.getText();
str = str.equals("") ? "这里是文本区\n" : "\n";
ta.append(str +"用户名:"+tf.getText());
tf.setText("");
}
});

// Button1.addActionListener(this);
tf.addCaretListener(this); //为文本框添加Caret监听
ta.addCaretListener(this); //为文本区域添加Caret监听
ta.setLineWrap(true); //设置文本区域自动换行
}

public void caretUpdate(CaretEvent e) {
}

public static void main(String[]args) {
a6 tt = new a6();
tt.setSize(600,200);
tt.setDefaultCloseOperation(EXIT_ON_CLOSE);
tt.setVisible(true);
}
}

——————————————————————————
错的地方已经注释起来,本人新手,求指教
最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2021-04-06 22:28
因为你的类没有实现ActionListener接口,所以是不能当做监听器添加的
将类定义改成public class a6 extends JFrame implements CaretListener,ActionListener
再实现actionPerformed方法就行了
全部回答
  • 1楼网友:酒安江南
  • 2021-04-06 23:10
支持一下感觉挺不错的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯