ok是个按键,怎样在我点击了时候,他能使链表中的数据切到下一个啊? 
ok.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent Event) 
            
            {
             for(int i=0;i<list.size();){
             Iterator<Student>  it=list.iterator();
             while(it.hasNext()){
                 Student s=it.next();
                 nameinput.setText(s.getId());
                 passwordinput.setText(s.getName());
                 i++;
                }
             }
               
            }
        });

解决方案 »

  1.   

    这个是软件运行后的图片  点击下一个使得切换到下一个
    http://hiphotos.baidu.com/g882/pic/item/506600c899da393a7e3e6f53.jpg
      

  2.   

    ok是一个按键 这个是原始的程序
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Iterator;
    import java.util.LinkedList; class first extends JPanel
    {
        static final int WIDTH=300;
        static final int HEIGHT=150;
    JFrame loginframe;    public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
        {
            constraints.gridx=x;
            constraints.gridy=y;
            constraints.gridwidth=w;
            constraints.gridheight=h;
            add(c,constraints);
    }                                         //此方法用来添加控件到容器中    first()
        {
            loginframe=new JFrame("学生信息查看系统"); 
            loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            GridBagLayout lay=new GridBagLayout();  
            setLayout(lay);                        
            loginframe.add(this, BorderLayout.WEST);
            loginframe.setSize(WIDTH,HEIGHT);
            Toolkit kit=Toolkit.getDefaultToolkit();
            Dimension screenSize=kit.getScreenSize();
            int width=screenSize.width;
            int height=screenSize.height;
            int x=(width-WIDTH)/2;
            int y=(height-HEIGHT)/2;
            loginframe.setLocation(x,y);
            JButton ok=new JButton("下一个");
            JButton cancel=new JButton("退出");
            JLabel title=new JLabel("学生信息");
            JLabel id=new JLabel("学号:");
            JLabel name=new JLabel("姓名:");
            final JTextField nameinput=new JTextField(15);
            final JTextField passwordinput=new JTextField(15);
            GridBagConstraints constraints=new GridBagConstraints();
            constraints.fill=GridBagConstraints.NONE;
            constraints.anchor=GridBagConstraints.EAST;
            constraints.weightx=3;
            constraints.weighty=4;
            add(title,constraints,0,0,4,1);                 //使用网格组布局添加控件
            add(id,constraints,0,1,1,1);
            add(name,constraints,0,2,1,1);
            add(nameinput,constraints,2,1,1,1);
            add(passwordinput,constraints,2,2,1,1);
            add(ok,constraints,0,3,1,1);
            add(cancel,constraints,2,3,1,1);
            loginframe.setResizable(false);
            loginframe.setVisible(true);  
            
            
            
            
            Connection con;
            String url1="jdbc:odbc:xsxx";        ///定义数据库的URL
            String username="";                        ///用户名
            String password="";                        ///密码
            final LinkedList<Student> list=new LinkedList<Student>();
            try
            {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                                                     ///登陆到建立的数据源上去,也可以说登陆到数据库上去
                con=DriverManager.getConnection(url1,username,password);
                Statement st=con.createStatement();
                String sql="select * from xs";
                ResultSet rs=st.executeQuery(sql);
                //JOptionPane.showMessageDialog(null, "123");
                while(rs.next())
                {
    //             放入list中
      
                    list.add(new Student(rs.getString(1),rs.getString(2)));
                    Iterator<Student>  it=list.iterator();
                    while(it.hasNext()){
                     Student s=it.next();
                     System.out.println(s.getId()+" "+s.getName());
                    }
                    
                    
                }
                st.close();
                con.close();
                
            }
            catch(SQLException e)
            {e.printStackTrace();
            }
            catch(ClassNotFoundException ex)
            {ex.printStackTrace();}        ok.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent Event) 
                
                {
                 for(int i=0;i<list.size();){
                 Iterator<Student>  it=list.iterator();
                 while(it.hasNext()){
                     Student s=it.next();
                     nameinput.setText(s.getId());
                     passwordinput.setText(s.getName());
                     i++;
                    }
                 }
                   
                }
            });
            cancel.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent Event) 
                {
                    loginframe.dispose();
                }
            });
        }
        public static void main(String[] args) {
    first f1=new first();
    }
    }
      

  3.   

    你应该定义一个全局变量 来控制list的索引
      

  4.   

    我用线程模拟的 相当于隔1秒钟按一次键 打印完最后一个又返回到第一个 无限循环public class T implements Runnable {
    private int count = 0;
    List<Integer> list = new ArrayList<Integer>(); T() {
    for (int i = 0; i < 10; i++) {
    list.add(i);
    }
    } public void press() {
    System.out.println(list.get(count));
    } @Override
    public void run() {
    while (true) {
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    press();
    count++;
    if (count == list.size()) {
    count = 0;
    }
    }
    } public static void main(String[] args) {
    new Thread(new T()).start();
    }
    }
      

  5.   

    问题解决了
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.*; class first extends JPanel implements ActionListener
    {
        static final int WIDTH=300;
        static final int HEIGHT=150;
        final JTextField nameinput;
        final JTextField passwordinput;
        Iterator<Student> it1; 
        
        final LinkedList<Student> list=new LinkedList<Student>();
        int number=0;
    JFrame loginframe;    public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
        {
            constraints.gridx=x;
            constraints.gridy=y;
            constraints.gridwidth=w;
            constraints.gridheight=h;
            add(c,constraints);
    }                                         //此方法用来添加控件到容器中
        first()
        {
            loginframe=new JFrame("学生信息查看系统"); 
            loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            GridBagLayout lay=new GridBagLayout();  
            setLayout(lay);                        
            loginframe.add(this, BorderLayout.WEST);
            loginframe.setSize(WIDTH,HEIGHT);
            Toolkit kit=Toolkit.getDefaultToolkit();
            Dimension screenSize=kit.getScreenSize();
            int width=screenSize.width;
            int height=screenSize.height;
            int x=(width-WIDTH)/2;
            int y=(height-HEIGHT)/2;
            loginframe.setLocation(x,y);
            JButton ok=new JButton("下一个");
            JButton cancel=new JButton("退出");
            JLabel title=new JLabel("学生信息");
            JLabel id=new JLabel("学号:");
            JLabel name=new JLabel("姓名:");
             nameinput=new JTextField(15);
             passwordinput=new JTextField(15);
            GridBagConstraints constraints=new GridBagConstraints();
            constraints.fill=GridBagConstraints.NONE;
            constraints.anchor=GridBagConstraints.EAST;
            constraints.weightx=3;
            constraints.weighty=4;
            add(title,constraints,0,0,4,1);                 //使用网格组布局添加控件
            add(id,constraints,0,1,1,1);
            add(name,constraints,0,2,1,1);
            add(nameinput,constraints,2,1,1,1);
            add(passwordinput,constraints,2,2,1,1);
            add(ok,constraints,0,3,1,1);
            add(cancel,constraints,2,3,1,1);
            loginframe.setResizable(false);
            loginframe.setVisible(true);  
            Connection con;
            String url1="jdbc:odbc:xsxx";        ///定义数据库的URL
            String username="";                        ///用户名
            String password="";                        ///密码
            try
            {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                                                     ///登陆到建立的数据源上去,也可以说登陆到数据库上去
                con=DriverManager.getConnection(url1,username,password);
                Statement st=con.createStatement();
                String sql="select * from xs";
                ResultSet rs=st.executeQuery(sql);
                //JOptionPane.showMessageDialog(null, "123");
                while(rs.next())
                {
    //             放入list中
      
                    list.add(new Student(rs.getString(1),rs.getString(2)));
                    }
                st.close();
                con.close();
            }        catch(SQLException e)
            {e.printStackTrace();
            }
            catch(ClassNotFoundException ex)
            {ex.printStackTrace();}
            it1=list.iterator(); 
            
         Student student=it1.next();
         this.nameinput.setText(student.getName());
         this.passwordinput.setText(student.getId());
            ok.addActionListener(this);
            cancel.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent Event) 
                {
                    loginframe.dispose();
                }
            });
        }
        public static void main(String[] args) {
    first f1=new first();
    }
    public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
    Student student=it1.next();
    this.nameinput.setText(student.getName());
    this.passwordinput.setText(student.getId());
    }
    }
      

  6.   

    我这个方式也可以,楼主可以试试
    import javax.swing.*; 
    import java.awt.*; 
    import java.awt.event.*; 
    import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.ResultSet; 
    import java.sql.SQLException; 
    import java.sql.Statement; 
    import java.util.*; class first extends JPanel implements ActionListener 

        static final int WIDTH=300; 
        static final int HEIGHT=150; 
        final JTextField nameinput; 
        final JTextField passwordinput; 
        Iterator <Student> it1; 
        
        final LinkedList <Student> list=new LinkedList <Student>(); 
        int number=0; 
    JFrame loginframe;     public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h) 
        { 
            constraints.gridx=x; 
            constraints.gridy=y; 
            constraints.gridwidth=w; 
            constraints.gridheight=h; 
            add(c,constraints); 
    }                                        //此方法用来添加控件到容器中 
        first() 
        { 
            loginframe=new JFrame("学生信息查看系统"); 
            loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
            GridBagLayout lay=new GridBagLayout();  
            setLayout(lay);                        
            loginframe.add(this, BorderLayout.WEST); 
            loginframe.setSize(WIDTH,HEIGHT); 
            Toolkit kit=Toolkit.getDefaultToolkit(); 
            Dimension screenSize=kit.getScreenSize(); 
            int width=screenSize.width; 
            int height=screenSize.height; 
            int x=(width-WIDTH)/2; 
            int y=(height-HEIGHT)/2; 
            loginframe.setLocation(x,y); 
            JButton ok=new JButton("下一个"); 
            JButton cancel=new JButton("退出"); 
            JLabel title=new JLabel("学生信息"); 
            JLabel id=new JLabel("学号:"); 
            JLabel name=new JLabel("姓名:"); 
            nameinput=new JTextField(15); 
            passwordinput=new JTextField(15); 
            GridBagConstraints constraints=new GridBagConstraints(); 
            constraints.fill=GridBagConstraints.NONE; 
            constraints.anchor=GridBagConstraints.EAST; 
            constraints.weightx=3; 
            constraints.weighty=4; 
            add(title,constraints,0,0,4,1);                //使用网格组布局添加控件 
            add(id,constraints,0,1,1,1); 
            add(name,constraints,0,2,1,1); 
            add(nameinput,constraints,2,1,1,1); 
            add(passwordinput,constraints,2,2,1,1); 
            add(ok,constraints,0,3,1,1); 
            add(cancel,constraints,2,3,1,1); 
            loginframe.setResizable(false); 
            loginframe.setVisible(true);  
            Connection con; 
            String url1="jdbc:odbc:xsxx";        ///定义数据库的URL 
            String username="";                        ///用户名 
            String password="";                        ///密码 
            try 
            { 
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
                                                    ///登陆到建立的数据源上去,也可以说登陆到数据库上去 
                con=DriverManager.getConnection(url1,username,password); 
                Statement st=con.createStatement(); 
                String sql="select * from xs"; 
                ResultSet rs=st.executeQuery(sql); 
                //JOptionPane.showMessageDialog(null, "123"); 
                while(rs.next()) 
                { 
    //            放入list中 
      
                    list.add(new Student(rs.getString(1),rs.getString(2))); 
                    } 
                st.close(); 
                con.close(); 
            }         catch(SQLException e) 
            {e.printStackTrace(); 
            } 
            catch(ClassNotFoundException ex) 
            {ex.printStackTrace();} 
            it1=list.iterator(); 
            
        Student student=it1.next(); 
        this.nameinput.setText(student.getName()); 
        this.passwordinput.setText(student.getId()); 
            ok.addActionListener(this); 
            cancel.addActionListener(new ActionListener() 
            { 
                public void actionPerformed(ActionEvent Event) 
                { 
                    loginframe.dispose(); 
                } 
            }); 
        } 
        public static void main(String[] args) { 
    first f1=new first(); 

    public void actionPerformed(ActionEvent arg0) { 
    // TODO Auto-generated method stub 
    Student student=it1.next(); 
    this.nameinput.setText(student.getName()); 
    this.passwordinput.setText(student.getId()); 


     
     
      

  7.   

                    list.add(new Student(rs.getString(1),rs.getString(2))); 
                    Iterator <Student>  it=list.iterator(); 
                    while(it.hasNext()){ 
                    Student s=it.next(); 
                    System.out.println(s.getId()+" "+s.getName()); 标记,学习一下迭代使用.