Problem mit ListModel *hiiilfe!*

azulith

Grünschnabel
Huhu!

Ich hab hier ein kleines ListModel Problem, bei dem ich Hilfe brauchen könnte.

Also so sieht mein Fenster aus (bitte ignoriert den Hintergrund! :) (auch Mädels haben ein Recht auf Spaß beim proggen :D ) )
http://home.arcor.de/Emeriss/GUI.jpg

wie man sieht, ist es in 5Panels aufgeteilt, von denen jede eine eigene Klasse ist (+ JFrame klasse im hintergrund)
klickt man unten auf anlegen, erscheint zunächst in form einer dialogbox die abfrage, welches konto man anlegen möchte (Gitokonto/Sparkonto), hat man eins ausgewählt, erscheint noch eine dialobox (die, die im bild zu sehen ist, gehört z.b. zum sparkonto), da gibt man seine daten ein, drückt auf "okay" und in der JList im Westpanel, erscheint dann ein eintrag, wie
"Konto 1"
"Konto2" usw.

problem ist jetzt, dass diese infos, die da eingegeben werden an ein ListModel Objekt übergeben werden müssen, die diese dann in einen vector speichert und gleichzeitig an die JList im Westpanel die info "Konto 1" etc sendet.

hab das jetzt so gemacht:

PHP:
JButton okay = new JButton("okay");
        
        MyListModel m = new MyListModel(this);
        okay.addActionListener(m);
        okay.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
		    {
				setVisible(false); 
			    
		    }
		});
die GiroBoxDialogBox hat sowas ebenfalls

problem ist nur, dass ja jedes mal ein neues ListModel Objekt erzeugt wird, anstatt, dass alle einträge an das selbe gehen.

Das ListModel selbst sieht z.T. so aus:

PHP:
public class MyListModel implements ListModel, ActionListener {

	public static Vector names;
	static int size;
	ListDataListener listener;
	private static int naechsteKontoNr = 1;
	Dialoge dialog;
		
	MyListModel(Dialoge dialog){
		size = 0;
		names = new Vector();
		this.dialog = dialog;
	}
	
	public void actionPerformed(ActionEvent e)
	{
		if (dialog instanceof SparkontoDialog){
			sparkontoAnlegen();
			
		}
		
		else{
			girokontoAnlegen();
		}
	}
	
	private Sparkonto sparkontoAnlegen()
	{   
		SparkontoDialog temp;
		temp = (SparkontoDialog)dialog;
		String newName = temp.getText();
		String kuendigungsfrist = temp.getFrist();
		
		Sparkonto konto = new Sparkonto(newName,naechsteKontoNr, kuendigungsfrist); 
						
		kontoHinzufuegen(konto);
		naechsteKontoNr++;
		return konto;
	}
	
	private Girokonto girokontoAnlegen() 
	{
		GirokontoDialog temp;
		temp = (GirokontoDialog)dialog;
		String newName = temp.getText();
		int dispo = Integer.parseInt(temp.getFrist() );
		
		Girokonto konto = new Girokonto(newName, naechsteKontoNr);
		
		naechsteKontoNr++;	
		return konto;
	}
	

	
			
   public void kontoHinzufuegen(Konto konto){
	names.add(konto);
	
	listener.contentsChanged(new ListDataEvent (this, ListDataEvent.CONTENTS_CHANGED, 0, size));
} //usw...

außerdem weiß ich nicht, wie ich das an ein und das selbe westpanel übermitteln kann, ohne jedes mal ein neues zu erzeugen.

Danke schonmal
 
Zuletzt bearbeitet:
Zurück