package com.sunshine;public class Subject {
private String content; // 题目内容
private String key; // 答案
public Subject() {
} public String getContent() {
return content;
} public void setContent(String content) {
this.content = content;
} public String getKey() {
return key;
} public void setKey(String key) {
this.key = key;
}
}import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class Main extends JFrame implements ActionListener{
private JPanel jContentPane;
private JPanel jp_jButtons;
private JScrollPane jsp_jTextArea;
private JTextArea jta_content;
private JButton jb_next;
private JButton jb_previous;
private ArrayList<Subject> subjects = new ArrayList<Subject>(); // 题库
private int counter = 0; // 游标
public Main(ArrayList<Subject> subjects) {
setSubjects(subjects);
init();
}
private void init() {
this.setSize(400, 300);
this.setTitle("测试");
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.pack();
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel(new BorderLayout());
jContentPane.add(getJp_jButtons(), BorderLayout.SOUTH);
jContentPane.add(getJsp_jTextArea(), BorderLayout.CENTER);
}
return jContentPane;
} private JPanel getJp_jButtons() {
if (jp_jButtons == null) {
jp_jButtons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
jp_jButtons.add(getJb_previous());
jp_jButtons.add(getJb_next());
}
return jp_jButtons;
}
private JScrollPane getJsp_jTextArea() {
if (jsp_jTextArea == null) {
jsp_jTextArea = new JScrollPane(getJta_content());
}
return jsp_jTextArea;
}
private JTextArea getJta_content() {
if (jta_content == null) {
jta_content = new JTextArea(10, 20);
jta_content.setEditable(false);
jta_content.setLineWrap(true);
}
return jta_content;
} private JButton getJb_next() {
if (jb_next == null) {
jb_next = new JButton("下一题");
jb_next.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
counter++;
getJta_content().setText(subjects.get(counter).getContent());
if (counter == subjects.size()-1) {
jb_next.setEnabled(false);
}
getJb_previous().setEnabled(true);
}
});
}
return jb_next;
} private JButton getJb_previous() {
if (jb_previous == null) {
jb_previous = new JButton("上一题");
jb_previous.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
counter--;
getJta_content().setText(subjects.get(counter).getContent());
if (counter == 0) {
jb_previous.setEnabled(false);
}
getJb_next().setEnabled(true);
}
});
}
return jb_previous;
}
public void setSubjects(ArrayList<Subject> subjects) {
this.subjects = subjects;
counter = 0;
if (subjects != null && subjects.size() > 0) {
getJta_content().setText(subjects.get(0).getContent());
}
if (subjects == null || subjects.size() < 2) {
getJb_next().setEnabled(false);
} if (subjects == null || counter == 0) {
getJb_previous().setEnabled(false);
}
} public static void main(String[] args) {
ArrayList<Subject> subjects = new ArrayList<Subject>();
Subject[] ss = new Subject[10];
for (int i = 0; i < ss.length; i++) {
ss[i] = new Subject();
ss[i].setContent("这是第" + (i+1) + "个题目");
ss[i].setKey("" + (i+1));
subjects.add(ss[i]);
}
new Main(subjects);
}}
this.super();
setSubjects(subjects);
init();
}
// TODO Auto-generated method stub
}
你实现了ActionListener这个接口
但没有重写actionPerformed方法。
解决方法:
1.public void actionPerformed(ActionEvent e){}
2.删除implements ActionListener
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class Main extends JFrame implements ActionListener{
private JPanel jContentPane;
private JPanel jp_jButtons;
private JScrollPane jsp_jTextArea;
private JTextArea jta_content;
private JButton jb_next;
private JButton jb_previous;
private ArrayList<Subject> subjects = new ArrayList<Subject>(); // 题库
private int counter = 0; // 游标
public Main(ArrayList<Subject> subjects) {
setSubjects(subjects);
init();
}
private void init() {
this.setSize(400, 300);
this.setTitle("测试");
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.pack();
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel(new BorderLayout());
jContentPane.add(getJp_jButtons(), BorderLayout.SOUTH);
jContentPane.add(getJsp_jTextArea(), BorderLayout.CENTER);
}
return jContentPane;
} private JPanel getJp_jButtons() {
if (jp_jButtons == null) {
jp_jButtons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
jp_jButtons.add(getJb_previous());
jp_jButtons.add(getJb_next());
}
return jp_jButtons;
}
private JScrollPane getJsp_jTextArea() {
if (jsp_jTextArea == null) {
jsp_jTextArea = new JScrollPane(getJta_content());
}
return jsp_jTextArea;
}
private JTextArea getJta_content() {
if (jta_content == null) {
jta_content = new JTextArea(10, 20);
jta_content.setEditable(false);
jta_content.setLineWrap(true);
}
return jta_content;
} private JButton getJb_next() {
if (jb_next == null) {
jb_next = new JButton("下一题");
jb_next.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
counter++;
getJta_content().setText(subjects.get(counter).getContent());
if (counter == subjects.size()-1) {
jb_next.setEnabled(false);
}
getJb_previous().setEnabled(true);
}
});
}
return jb_next;
} private JButton getJb_previous() {
if (jb_previous == null) {
jb_previous = new JButton("上一题");
jb_previous.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
counter--;
getJta_content().setText(subjects.get(counter).getContent());
if (counter == 0) {
jb_previous.setEnabled(false);
}
getJb_next().setEnabled(true);
}
});
}
return jb_previous;
}
public void setSubjects(ArrayList<Subject> subjects) {
this.subjects = subjects;
counter = 0;
if (subjects != null && subjects.size() > 0) {
getJta_content().setText(subjects.get(0).getContent());
}
if (subjects == null || subjects.size() < 2) {
getJb_next().setEnabled(false);
} if (subjects == null || counter == 0) {
getJb_previous().setEnabled(false);
}
} public static void main(String[] args) {
ArrayList<Subject> subjects = new ArrayList<Subject>();
Subject[] ss = new Subject[10];
for (int i = 0; i < ss.length; i++) {
ss[i] = new Subject();
ss[i].setContent("这是第" + (i+1) + "个题目");
ss[i].setKey("" + (i+1));
subjects.add(ss[i]);
}
new Main(subjects);
}
public void actionPerformed(ActionEvent arg0) { //这类里加这个方法就行了!
// TODO Auto-generated method stub
}
}
public class Main extends JFrame implements ActionListener
[/code]
Main.java:28需要为class interface 或enum
import java.awt.*;
^Main.java:29需要为class interface 或enum
import java.awt.event*;
^
Main.java:30需要为class interface 或enum
import java.util.*;
^
Main.java:31需要为class interface 或enum
import java.swing.*;
^
4错误
1 如果使用工具Eclipse,直接点错误,选择add unimplemented methods
2 如果不是工具
空实现方法
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}然后运行就没有问题了原因:没有实现接口的所有方法
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}