как обойти передачу параметра конструктору в слушателе действий - PullRequest
0 голосов
/ 04 ноября 2019

Я начинающий программист и пытаюсь изучить Java EE, и я не знаю, как обойти проблему передачи параметра из конструктора в тело класса.

Япытаюсь получить больше элементов базы данных, но курсор постоянно остается на том же месте, потому что я загружаю больше элементов в конструктор.

class Next extends JButton implements ActionListener {
    static String x1,x2,x3,x4,x5,x6,x7;
    static int x;
    Next(ResultSet myRS) throws SQLException{
        addActionListener(this);
        Example.a++;
        x = Example.a;
        myRS.absolute(x);
        x1 = myRS.getString(1);
        x2 = myRS.getString(2);
        x3 = myRS.getString(3);
        x4 = myRS.getString(4);
        x5 = myRS.getString(5);
        x6 = myRS.getString(6);
        x7 = myRS.getString(7);
        Example.a = Integer.parseInt(x1);
    }

    public void actionPerformed(ActionEvent e) {
        MyFrame.zmien(x1,x2,x3,x4,x5,x6,x7);
    }
}
public class MyFrame extends JFrame  {

    private static final long serialVersionUID = 1L;
    public static JTextField t1;
    public static JTextField t2;
    public static JTextField t3;
    public static JTextField t4;
    public static JTextField t5;
    public static JTextField t6;
    public static JTextField t7; 


    public MyFrame( String s1, String s2, String s3, String s4, String s5, String s6, String s7, ResultSet myRS) throws SQLException{

        JFrame f= new JFrame("TextField Example");  

        t1=new JTextField(s1);  
        t1.setBounds(150,100, 200,30);  
        t2=new JTextField(s2);  
        t2.setBounds(150,150, 200,30);  
        t3=new JTextField(s3);  
        t3.setBounds(150,200, 200,30);  
        t4=new JTextField(s4);  
        t4.setBounds(150,250, 200,30); 
        t5=new JTextField(s5);  
        t5.setBounds(150,300, 200,30);  
        t6=new JTextField(s6);  
        t6.setBounds(150,350, 200,30); 
        t7=new JTextField(s7);  
        t7.setBounds(150,400, 200,30); 
        f.add(t1); f.add(t2); f.add(t3); f.add(t4);f.add(t5); f.add(t6); f.add(t7);      

        JButton b1=new JButton("first");  
        b1.setBounds(150,450,65,30);
        JButton b2=new JButton("prev");  
        b2.setBounds(220,450,65,30);
        JButton b3=new JButton("next");  
        b3.setBounds(290,450,65,30);
        JButton b4=new JButton("last");  
        b4.setBounds(360,450,65,30);
        JButton b5=new JButton("new");  
        b5.setBounds(150,490,65,30);
        JButton b6=new JButton("update");  
        b6.setBounds(222,490,95,30);
        JButton b7=new JButton("delete");  
        b7.setBounds(335,490,95,30);

        First fi = new First(myRS);
        b1.addActionListener(fi);
        Prev pr = new Prev(myRS);
        b2.addActionListener(pr);
        Next ne = new Next(myRS);
        b3.addActionListener(ne);
        Last la = new Last(myRS);
        b4.addActionListener(la);

        f.add(b1); f.add(b2);  f.add(b3);  f.add(b4);  f.add(b5);  f.add(b6);  f.add(b7); 
    }
}

курсор не меняет своего значения!

...