2013-04-18 4 views
0

Привет, у меня есть задание от руководителя моей группы, чтобы хранить сведения о сотрудниках, что пользователь вводил в текстовое поле на той же панели, после чего в другом фрейме администратор должен проверить детали каждого сотрудника, позвонив в ArrayList, что список должен показать панель в CardLayout ,, здесь мое кодирование для сотрудника registration.can кто-то пожалуйста, помогите мнеЕсть ли какие-либо возможности для хранения JPanel-объекта в arraylist

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); 
} 
+1

У вас плохой учитель. Хороший учитель объяснил, что вам нужно хранить объекты в списке (Array) и вы извлекаете информацию из объектов GUI. Основная причина также указывает на то, что если вы можете хранить n-поданные объекты, то достаточно примера с двумя полями. Вам не нужно публиковать все свои поля. – Val

+0

Можете ли вы описать вопрос, который у вас есть? – dinukadev

+0

Ответ на ваш вопрос - да, это возможно. Сначала попробуйте сделать это самостоятельно (например, создать список и добавить к нему объекты JPanel), а затем обратиться за помощью. – Kishore

ответ

2

Создать объект списка, как этот путь

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); 
1

только комментарий, а не ответ

Есть ли возможность хранить объект JPanel в ArrayList

  1. да возможно, но почему причина,

    • потому, что количество этого JComponents не требуется хранение те JComponets в массиве,
    • JComponents - это не тот же тип,
    • они создаются (локальные) переменные,
    • они подъезд от всего экземпляра виртуальной машины Java
  2. есть какие-либо проблемы, чтобы передать значение из бетона JComponent в любом месте внутри текущей виртуальной машины Java (еще классы)
  3. итерация внутри contianer (ваш левый и правый JPanels) и внутри итерации, чтобы проверить, если (compo [i] экземпляр JTextComponent), то внутри этого условия вы получите только доступ и получить значение от JTextField и JPasswordField, остальные JComponents помещены (JLabel, JButton например) в JPanel (например) не являются экземплярами JTextComponent

 Смежные вопросы

  • Нет связанных вопросов^_^