如何获取ArrayList中记录的信息?

时间:2014-04-18 08:30:50

标签: java arraylist

我创建了一个java应用程序,其中需要登录凭据才能访问。 我在ArrayList中记录了有关用户名的信息。

private void jBLoginActionPerformed(java.awt.event.ActionEvent evt) {                                        

    String sql="select * from logins where username=? and password=? and idTypeLogin=?";
    try{
        pst=(PreparedStatement) conexao.prepareStatement(sql);
        pst.setString(1, jTUser.getText());
        pst.setString(2, jPass.getText());
        pst.setString(3, jComboBoxTipoLogin.getSelectedItem().toString());

        rs=pst.executeQuery();
        if(rs.next()){

            String idTypeLogin= rs.getString("idTypeLogin"); 

            if (idTypeLogin.equals("Administrator")) {

                jTTaskAdmin ah = new jTTaskAdmin();
                ah.setVisible(true);

            }
             else {
                jTTaskTecnic eh = new jTTaskTecnic();
                eh.setVisible(true);

            }
            this.setVisible(false);
            }
        else{
            JOptionPane.showMessageDialog(null, "User Invalid");
              }
                //close();
            }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
            }



        List<String> loggedInUsers = new ArrayList<String>();
     loggedInUsers.add(jTUser.getText())

            List<String> t = loggedInUsers;   

           jTTasktecnic.recordVar=loggedInUsers.get(0);  
   }         

enter image description here

我以第二种形式添加此代码

static String recordVar;

如何获取数组中记录的信息,但是采用其他形式。也就是说,我在登录表单的ArrayList中记录了信息,现在我想以另一种形式获取此信息。

我该怎么做?

谢谢

3 个答案:

答案 0 :(得分:1)

你可以这样做

  

表格二

声明要存储ArrayList项的变量(可以是String或Int或其他

您也可以声明static

但是在全球范围内声明它(在类的开始处的意思不在方法或其他内容中)

  

表格一

将ArrayList项存储在表单2的变量OnClick的logIn按钮中。

Form2 ob=new Form2();
ob.recordVar=arrayList.get(3);//it will access recordVar of Form2 3rd element of ArrayList for example

或者您可以声明Form2变量static并通过类名访问它。

喜欢这个

Form2.recordVar=arrayList.get(3);

答案 1 :(得分:0)

将ArrayList定义为全局,以便您可以随时访问它。

答案 2 :(得分:0)

让你的方法返回loggedInUsers并在你想要的地方使用它。相应地更改方法签名。全局变量是臭名昭着的。最好将范围缩小到只需要的地方

private List<String> jBLoginActionPerformed(java.awt.event.ActionEvent evt) 
{
   // do samething
   return t
}