List mit Dialog

Status
Nicht offen für weitere Antworten.

Vril

Bekanntes Mitglied
Hab eine kleine List geschrieben in der man verschiedene Lebensmittel auswählen kann.

Jetzt würde ich gerne einen Ja/Nein Dialog mit einbauen. Sprich wenn man auf einen Artikel in der Liste clickt, ein Dialog Fenster öffnet und frägt, z.B. "Wollen Sie Butter kaufen? Ja/Nein", wählt man Ja wird der Artikel in der Liste markiert, ansonsten natürlich nicht.

Hm, also ich hab keine so rechte Idee wie man das mit dem Dialog anstellen soll. Muß man dafür eine eigene Klasse schreiben oder ist es auch möglich das ganze in die public class reinzubauen?

Kann mir jemand weiterhelfen?

Code:
import java.awt.*;
import java.awt.event.*;

// ListControl mit Dialog

public class ListControl extends Frame implements ActionListener, ItemListener {
	
	private List list = null;
	private String ware [] = {"Wurst", "Obst", "Milch", "Fleisch", "Butter", "Brot"};
	int einkauf;
	
	public ListControl (String title) {
		super(title);
		setSize(300,400);
		setLayout(new GridLayout(4,2));
		
		list = new List (3,true);
    
		for (int i = 0; i <= ware.length-1; i++)
		list.add ("Auswahl " + ware[i]);
		
		list.addActionListener(this);
		list.addItemListener (this);
		add (list);
		addWindowListener (new WindowAdapter() {
			public void windowClosing(WindowEvent event){
				System.exit(0);
			};
		});
		setVisible(true);
		}
		public void actionPerformed (ActionEvent event) {
			System.out.println("Auswahl: " + event.getActionCommand());
			printSelectedItems();
		}
		public void itemStateChanged (ItemEvent event) {
			System.out.println("Item: " + event.paramString());
			printSelectedItems();
		}
		public void printSelectedItems () {
			String items[] = list.getSelectedItems();
			System.out.print ("List : ");
			for (int i = 0; i < items.length; i++)
			System.out.print (" " + items[i]);
			System.out.println ("gewaehlt");
		}
		public static void main (String[] args){
			new ListControl ("Ein ListControl");
		}
		}
 
Sowas?


Code:
    	int ret = JOptionPane.showOptionDialog(<Dein Frame Objekt, also this),<Dein Fragetext>,<Titel des Dialogs>,
			JOptionPane.YES_NO_OPTION,
			JOptionPane.QUESTION_MESSAGE,null,
			Options,new String[] {"Ja","Nein"});
		      		
      		//Ja=0
		//Nein=1
 
Also in paar Zeilen kannst Du das nicht machen, dass musst Du von anfang an mit einplanen.

Du brauchts auf jeden Fall ne eigene Klasse für den Dialog.

und dann musst Du eben in der ItemStateChanged(und in der actionperformed dann auch, weiß aber grad gar nicht, wieso man die bzw den ActionListener hier überhaupt braucht, hab mir das noch gar nicht genau angesehen ) diesen aufrufen.

der Dialog selbst muss dann natürlich modal sein.

Ich hätte das ganze schonmal mit nem Button unter der Liste gemacht zB "einkaufen".

dann soll sich der Dialog öffnen, die getSelectedItems abfragen und bei bestätigung zB. in nem neuen String[] einkauf ablegen.

sonst ist es viel zu aufwendig, denk ich, da du ja den Dialog evtl sachen bei klick auf "nein" deSelecten musst, weiß aber nicht, ob das geht...

werds morgen mal nach meinen Vorstellungen schreiben und posten, hab aber heute keine Zeit mehr, muss was trinken gehn :lol:

Also, viele Späße noch

Steve
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben