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);
    }}

解决方案 »

  1.   

    public Main(ArrayList<Subject> subjects) {
            this.super();
            setSubjects(subjects);
            init();
        }
      

  2.   

    public class Main extends JFrame implements ActionListener{//这里你实现接口ActionListener就必须实现它的actionPerformed方法!
      

  3.   

    在第二个类里添加这个方法 public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub

    }
    你实现了ActionListener这个接口
      

  4.   

    要实现ActionListener接口,
    但没有重写actionPerformed方法。
    解决方法:
    1.public void actionPerformed(ActionEvent e){}
    2.删除implements ActionListener
      

  5.   

    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);
        }
    public void actionPerformed(ActionEvent arg0) {                //这类里加这个方法就行了!
    // TODO Auto-generated method stub

    }
    }
      

  6.   

    [code={0}]{public class Main extends JFrame implements ActionListener{//这里你实现接口ActionListener就必须实现它的actionPerformed方法!}[/code]
     
      

  7.   

    [code={0}]
    public class Main extends JFrame implements ActionListener
    [/code] 
      

  8.   

    不是你们所说的问题  我这里编译出错是
    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错误
      

  9.   

    解决方法:
    1 如果使用工具Eclipse,直接点错误,选择add unimplemented methods
    2 如果不是工具
      空实现方法
      public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub

      }然后运行就没有问题了原因:没有实现接口的所有方法
      

  10.   

    是你没有实现  监听接口的方法
    public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            
        }
      

  11.   

    应该是没实现
    public void actionPerformed(ActionEvent arg0) { 
            // TODO Auto-generated method stub 
            
        }