hallo!
ich bin total am verzwifeln!
ich habe ein JApplet mit verschiedenen Unterpanels.
Im hauptapplet sind oben zwei Buttons mit + und -
im Center ( beim applet handelt es sich um einen Borderlayout) habe ich ein unterpanel mit JLabel, JTextField und JComboBox. Wenn man jetzt auf + drückt, dann soll ein weiteres Panel im Center gebildet werden mit diesen drei Objecten. Grundidee ist es, alle drei Objecte im Object-Array [ ] [ ] [ ] zu speichern, für den Anfang habe ich es aber mit einem jlabel[ ] , einem JTextField [ ] und entsprechend einem JComboBox [ ] versucht. zugriff auf die Felder erfolgt mit Hilfe einer int variable, die am ende der methode dazu() (hier wird alles neu gebildet, sowohl ein panel, dem alle drei Objecte zugefügt werden und dann das Panel dem CenterPanel hinzugefügt wird.)
jetzt meckert mir aber eclipse bei der feldzuweisung und erklärt das Array als nicht initialisiert. aber ich brauche das array, damit ich dann denn zustand der jeweiligen Objecte speichern kann und wieder auslesen kann.
was übersehe ich?
hier der code, falls der weiterhilft. mein letzter versuch war es, eine variable für jedes array einzufügen, was ich aber für sinnlos halte und eig den zugriff über feldname[var-1] machen will:
Alles anzeigen
UPDATE: syntax tags by d0nut
ich bin total am verzwifeln!
ich habe ein JApplet mit verschiedenen Unterpanels.
Im hauptapplet sind oben zwei Buttons mit + und -
im Center ( beim applet handelt es sich um einen Borderlayout) habe ich ein unterpanel mit JLabel, JTextField und JComboBox. Wenn man jetzt auf + drückt, dann soll ein weiteres Panel im Center gebildet werden mit diesen drei Objecten. Grundidee ist es, alle drei Objecte im Object-Array [ ] [ ] [ ] zu speichern, für den Anfang habe ich es aber mit einem jlabel[ ] , einem JTextField [ ] und entsprechend einem JComboBox [ ] versucht. zugriff auf die Felder erfolgt mit Hilfe einer int variable, die am ende der methode dazu() (hier wird alles neu gebildet, sowohl ein panel, dem alle drei Objecte zugefügt werden und dann das Panel dem CenterPanel hinzugefügt wird.)
jetzt meckert mir aber eclipse bei der feldzuweisung und erklärt das Array als nicht initialisiert. aber ich brauche das array, damit ich dann denn zustand der jeweiligen Objecte speichern kann und wieder auslesen kann.
was übersehe ich?
hier der code, falls der weiterhilft. mein letzter versuch war es, eine variable für jedes array einzufügen, was ich aber für sinnlos halte und eig den zugriff über feldname[var-1] machen will:
Quellcode
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import java.awt.BorderLayout;
- import java.awt.FlowLayout;
- @SuppressWarnings("serial")
- public class bla extends JApplet implements ActionListener{
- JPanel pnorth = new JPanel();
- JPanel pmitte = new JPanel();
- JButton plus, minus;
- JTextField [] text;
- JTextField textvar;
- JComboBox [] box;
- JComboBox boxvar;
- JLabel []la;
- JLabel lavar;
- int var=1;
- public void init(){
- setSize(400,500);
- plus = new JButton("+");
- minus = new JButton("-");
- plus.addActionListener(this);
- minus.addActionListener(this);
- BorderLayout hauptLayout = new BorderLayout();
- getContentPane().setLayout(hauptLayout);
- add(pnorth, BorderLayout.NORTH);
- add(pmitte, BorderLayout.CENTER);
- pnorth.setLayout(new GridLayout(0,2));
- pnorth.add(plus);
- pnorth.add(minus);
- pmitte.setLayout(new FlowLayout(10,10,10));
- pmitte.setAutoscrolls(true);
- dazu();
- }
- public void dazu(){
- JPanel p = new JPanel();
- textvar = new JTextField("");
- text[0]= textvar;
- boxvar = new JComboBox();
- boxvar.setModel(new DefaultComboBoxModel(new String[] { "Zahleneingabe", "Ja / Nein", "Freitext" }));
- box[0]= boxvar;
- lavar = new JLabel("Frage "+var);
- la [0]= lavar;
- GridLayout pL = new GridLayout(0,3);
- p.setLayout(pL);
- p.add(la[0]);
- p.add(text[0]);
- p.add(box[0]);
- pmitte.add(p);
- }
- public void actionPerformed(ActionEvent e) {
- if(e.getSource()== plus){
- var++;
- dazu();
- }
- if(e.getSource()== minus){
- // noch nichts gemacht
- }
- }
- }
UPDATE: syntax tags by d0nut