我创建了一个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);
}
我以第二种形式添加此代码
static String recordVar;
如何获取数组中记录的信息,但是采用其他形式。也就是说,我在登录表单的ArrayList
中记录了信息,现在我想以另一种形式获取此信息。
我该怎么做?
谢谢
答案 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
}