Передать значение переменной в другой класс Java

Хочу из одного класса передать переменную в другой, но переменная приходит в actiolistener по нажатию, и по нажатие еще одному, нужно чтоб она дальше перекочевала в другой класс. Мне нужно переменную car_number передать в класс Login

 public class Car2q {
private Connection con;
private ResultSet rs;
  static JTextArea textArea = new JTextArea();
  static JTextArea textArea2 = new JTextArea();
  static login frame = new login();
  static JScrollPane scrollPane = new JScrollPane();
  static JSplitPane splitPane = new JSplitPane();
  static JPanel panel_left = new JPanel();
  static JPanel panel_right = new JPanel();
  JFrame form2sq = new JFrame();
          JFrame result = new JFrame();
  
  private static JTextField car_number_text;
  
  private static JTextPane car_number_textP;
 
static class login extends JFrame {



public static void main(String[] args) throws Exception {
    final Car2q c2q = new Car2q();
    c2q.getReport();
   
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
    frame.setTitle("");
  
   //     frame.add(textArea);
 //   textArea.append("test");
    frame.setSize(550,300);
  //  frame.setLayout(new GridLayout(0, 2, 5, 5));
    frame.setExtendedState(MAXIMIZED_BOTH);

  
    frame.add(splitPane);
    splitPane.setSize(550,300);
    
    splitPane.setLeftComponent(scrollPane); 
    splitPane.setLeftComponent(panel_left);
    splitPane.setRightComponent(panel_right);
    panel_left.setLayout(new GridLayout(0, 1, 5, 5));
    panel_right.setLayout(new GridBagLayout());
     GridBagConstraints c = new GridBagConstraints(); 
   
   
/*     textArea.append("test");
   c.fill = GridBagConstraints.HORIZONTAL;
     c.weightx = 0.5;
     c.gridx = -1;
     c.gridy = 1;
     panel_right.add(textArea, c); */
     
     
    
}



}
public Car2q() {
    
    
     
    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        con = DriverManager.getConnection();
    con.createStatement();
    
    
    } catch (Exception e) {
        System.out.println("Error: " +e);
        //System.out.println("Unable to make connection with DB" );
        
    }
    }
public String getReport() {
    String car_number = null;
    
    String report = null;
    
      List car_number_list= new ArrayList<>();
      
    try {
        
        
        PreparedStatement st = null;
        String query2 = "";
        st = con.prepareStatement(query2);
        rs = st.executeQuery();
        
     //   int count = 0;
        
        while (rs.next()) {
            
      
        car_number = rs.getString("car_number");
 
            
            String gotit = rs.getString("car_number");
            JButton btn = new JButton(gotit);
            btn.setSize(100,100);
         
            panel_left.add(btn);
          
            ActionListener actionListener = new btn_listener(car_number);
            btn.addActionListener(actionListener);
         

           
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return car_number;
    
    
}

     public class btn_listener implements ActionListener {
        private final String car_number;

        public btn_listener(String car_number) {
            this.car_number = car_number;
        }

        public void actionPerformed(ActionEvent arg0) {
            System.out.println(car_number);
            JFrame form2sq = new JFrame(car_number);
        
            form2sq.pack();   
            form2sq.setVisible(true);
            form2sq.setSize(550,300);
            form2sq.setLayout(null);
      
      JTextPane textCar = new JTextPane();
    textCar.setText("Номер авто");
    textCar.setEditable(false);
    textCar.setBounds(10, 20, 130, 20);
    form2sq.add(textCar);
    

    car_number_text = new JTextField(car_number, 10);
    car_number_text.setBounds(150, 20, 130, 20);
    car_number_text.setEditable(false);
    form2sq.add(car_number_text); 

    
    JButton btnsq= new JButton("Отправить");
    btnsq.setSize(100,20);
    btnsq.setBounds(150, 180, 130,20);
    
     ActionListener listenerSq = new ActionListenerSq();
     
     btnsq.addActionListener(listenerSq);

    form2sq.add(btnsq);
    
        }
        public class ActionListenerSq implements ActionListener {
        

            public ActionListenerSq() {
          
            }
          
            public void actionPerformed(ActionEvent car_number) {
                
                String car_number_textSq = car_number_text.getText();
                
                ActionEvent carid = car_number;
                
                String sql = "Є;
                try {
                    PreparedStatement st = con.prepareStatement(sql);
                
                    st.setString( 5, car_number_textSq);
                    st.executeUpdate ();
                          

                            JFrame result = new JFrame();
                      
                        result.pack();   
                    result.setVisible(true);
                    result.setSize(250,150);
                    result.setLayout(null);
                    JTextPane resultText = new JTextPane();
                    resultText.setText("отправлены");
                    resultText.setEditable(false);
                    resultText.setBounds(50, 50, 140, 20);
                    result.add(resultText); 
                    
                    Bot sm= new Bot();
                    sm.sendMsg();
                    return_number();
                } catch (SQLException e) {
  JFrame result = new JFrame();
                    
                    result.pack();   
                    result.setVisible(true);
                    result.setSize(250,150);
                    result.setLayout(null);
                    result.setBackground(Color.GRAY);
                    JTextPane resultText = new JTextPane();
                    resultText.setText("ОШИБКА");
                    resultText.setEditable(false);
                    resultText.setBounds(50, 50, 140, 20);
                    result.add(resultText); 
                    System.out.println("Error " +e);
                    return;
                }
                
            
                
           
    }

}
        
        public String return_number() {
            public SString carid = car_number;
  return carid;
            
        }
      
            
                
            
 }
 
 }

Сделал как обычную переменную, ругается на No enclosing instance of type Car2q is accessible. Must qualify the allocation with an enclosing instance of type Car2q (e.g. x.new A() where x is an instance of Car2q).

  public class Login {

String carid;

public void setCar(String carid) {
    this.carid = carid;
}

private Connection con;
private ResultSet rs;
private Connection conQ;
private ResultSet rsQ;
private String car_number2;

    public Login() {
    
    
    try {
        Class.forName("com.mysql.jdbc.Driver");

    con = DriverManager.getConnection("");
    con.createStatement();
    
    conQ = DriverManager.getConnection("");
    conQ.createStatement();
    
    } catch (Exception e) {
        //System.out.println("Error: " +e);
        System.out.println("Unable to make connection with DB" );
        
    }
}


 public String getQuality() {

String car_number = null;


String report = null;

  List<String> car_number_list = new ArrayList<>();

  btn_listener c2qa = new btn_listener(carid);
  Login lg = new Login();

    String id = c2qa.return_number();
    lg.setCar(id);

   try {
    
    PreparedStatement st = null;
    String query2 = "select * FROM car_register WHERE agreement = 1 and car_number = ?";
    st = conQ.prepareStatement(query2);
    st.setString( 1, car_number2);
    rs = st.executeQuery();
    while (rs.next()) {
        car_number = rs.getString("car_number");

        System.out.println(report);
       
    }
} catch (SQLException e) {
    e.printStackTrace();
}
return report ;

}

Как правильно туда ее запихнуть, в нужный момент?


Ответы (0 шт):