Java 有没有可能在arraylist中存储JPanel对象

Java 有没有可能在arraylist中存储JPanel对象,java,arrays,swing,jtextfield,jpasswordfield,Java,Arrays,Swing,Jtextfield,Jpasswordfield,您好,我从我的团队负责人那里得到一个任务,要存储用户在该面板的文本字段中输入的员工详细信息,在另一个框架中,管理员必须通过调用arraylist来检查每个员工的详细信息,该列表应在cardlayout中显示该面板,,这是我的员工注册代码。有人能帮我吗 Registration() { frm=new JFrame("Welcome to the login page"); left=new JPanel(new GridLayout(0,1)); left.setBack

您好,我从我的团队负责人那里得到一个任务,要存储用户在该面板的文本字段中输入的员工详细信息,在另一个框架中,管理员必须通过调用arraylist来检查每个员工的详细信息,该列表应在cardlayout中显示该面板,,这是我的员工注册代码。有人能帮我吗

Registration()
{
    frm=new JFrame("Welcome to the login page");
    left=new JPanel(new GridLayout(0,1));
    left.setBackground(Color.LIGHT_GRAY);
    right=new JPanel(new GridLayout(0,1));
    right.setBackground(Color.LIGHT_GRAY);
    sp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,left,right);
    lb9=new JLabel("Member");
    lb9.setFont(new Font("Serif",Font.PLAIN, 18));
    lb9.setForeground (Color.blue);
    lb10=new JLabel("Create an Account");
    lb10.setFont(new Font("Serif", Font.PLAIN, 16));
    lb10.setForeground (Color.blue);
    lb1=new JLabel("Username");
    tf1=new JTextField(10);
    lb2=new JLabel("Password");
    tf6=new JTextField(10);
    lb3=new JLabel("First Name");
    tf2=new JTextField(10);
    lb4=new JLabel("Last Name");
    tf3=new JTextField (10);
    lb5=new JLabel("Password");
    psd2=new JPasswordField (10);
    lb6=new JLabel("Confirm password");
    psd3=new JPasswordField (10);
    lb7=new JLabel("MailID:");
    tf4=new JTextField (10);
    lb8=new JLabel("Contact No");
    tf5=new JTextField (10);
    b1=new JButton("Enter");
    b2=new JButton("Register");

}
public void launchFrame()
{


frm.setSize(450, 350);
frm.add(sp);
//sp.setLeftComponent(left);
//sp.setRightComponent(right);
left.add(lb9);
left.add(lb1);
left.add(tf1);
left.add(lb2);
left.add(tf6);
left.add(b1);


right.add(lb10);
right.add(lb3);
right.add(tf2);
right.add(lb4);
right.add(tf3);
right.add(lb5);
right.add(psd2);
psd2.setEchoChar('*');
right.add(lb6);
right.add(psd3);
psd3.setEchoChar('*');
right.add(lb7);
right.add(tf4);
right.add(lb8);
right.add(tf5);
right.add(b2);

frm.setVisible(true);
}

这样创建列表对象

List<JPanel> panelList = new ArrayList<JPanel>();

// add your JPanel object like this way
panelList.add(yourPanel);

// retrieve your JPanel object from list
JPanel panel = panelList.get(index);
List panelList=new ArrayList();
//这样添加您的JPanel对象
小组成员。添加(您的小组);
//从列表中检索JPanel对象
JPanel panel=panelist.get(索引);

这样创建列表对象

List<JPanel> panelList = new ArrayList<JPanel>();

// add your JPanel object like this way
panelList.add(yourPanel);

// retrieve your JPanel object from list
JPanel panel = panelList.get(index);
List panelList=new ArrayList();
//这样添加您的JPanel对象
小组成员。添加(您的小组);
//从列表中检索JPanel对象
JPanel panel=panelist.get(索引);

仅评论,不回答

有没有可能在arraylist中存储JPanel对象

  • 是的,这是可能的,但原因是

    • 因为在数组中存储这些JComponents不需要这个JComponents的数量
    • JComponents不是同一类型的
    • 它们被创建为(局部)变量
    • 它们可以从整个JVM实例访问
  • 将值从具体的JComponent传递到当前JVM中的任何位置(另一个类)是否存在任何问题
  • 在contianer(您的左JPanel和右JPanel)内部进行迭代,并在内部进行迭代以测试(JTextComponent的compo[i]实例),然后在这种情况下,您将只能从JTextField和JPasswordField中获得访问权和值,在JPanel中放置的其他JComponents(例如JLabel、JButton)不是JTextComponent的实例

  • 只评论,不回答

    有没有可能在arraylist中存储JPanel对象

  • 是的,这是可能的,但原因是

    • 因为在数组中存储这些JComponents不需要这个JComponents的数量
    • JComponents不是同一类型的
    • 它们被创建为(局部)变量
    • 它们可以从整个JVM实例访问
  • 将值从具体的JComponent传递到当前JVM中的任何位置(另一个类)是否存在任何问题
  • 在contianer(您的左JPanel和右JPanel)内部进行迭代,并在内部进行迭代以测试(JTextComponent的compo[i]实例),然后在这种情况下,您将只能从JTextField和JPasswordField中获得访问权和值,在JPanel中放置的其他JComponents(例如JLabel、JButton)不是JTextComponent的实例

  • 你的老师不好。一个好的老师会解释说,您需要在(数组)列表中存储对象,并从GUI对象中提取信息。基本原因还表明,如果可以存储n个字段的对象,那么使用两个字段的示例就足够了。您不需要发布所有字段。您能描述一下您遇到的问题吗?您的问题的答案是肯定的,这是可能的。首先试着自己做(比如创建一个列表并向其中添加JPanel对象),然后寻求帮助。你的老师不好。一个好的老师会解释说,您需要在(数组)列表中存储对象,并从GUI对象中提取信息。基本原因还表明,如果可以存储n个字段的对象,那么使用两个字段的示例就足够了。您不需要发布所有字段。您能描述一下您遇到的问题吗?您的问题的答案是肯定的,这是可能的。首先试着自己做(比如创建一个列表并向其中添加JPanel对象),然后寻求帮助。