Servus Gemeinde, 
meine ComboBox enthält viele Stichworte. Nun möchte ich, dass nach einem Tastendruck (Buchstabe) alle Stichworte,
die diesen Buchstaben enthalten im Model halten und die restlichen rausschmeißen.
Beim nächsten Tastendruck sollen beide Buchstaben in dem Stichwort vorkommen, ansonsten raus damit.
Und so weiter.
Das funktioniert soweit auch.
Ich habe das mit einem DefaultComboBoxModel gelöst. Die Einträge, die nicht mehr dem eingegebenen Wort entsprechen
fliegen raus.
ABER !!
Beim Löschen des letzten Buchstaben (wenn noch einer im Wort vorhanden ist) müsste ich ja auf das vorhergehende
Model zugreifen können.
Das habe ich mit einer ArrayList <DefaultComboBoxModel> probiert.
Aber es funzt nicht.
	
	
	
	
	
		
	
			
			meine ComboBox enthält viele Stichworte. Nun möchte ich, dass nach einem Tastendruck (Buchstabe) alle Stichworte,
die diesen Buchstaben enthalten im Model halten und die restlichen rausschmeißen.
Beim nächsten Tastendruck sollen beide Buchstaben in dem Stichwort vorkommen, ansonsten raus damit.
Und so weiter.
Das funktioniert soweit auch.
Ich habe das mit einem DefaultComboBoxModel gelöst. Die Einträge, die nicht mehr dem eingegebenen Wort entsprechen
fliegen raus.
ABER !!
Beim Löschen des letzten Buchstaben (wenn noch einer im Wort vorhanden ist) müsste ich ja auf das vorhergehende
Model zugreifen können.
Das habe ich mit einer ArrayList <DefaultComboBoxModel> probiert.
Aber es funzt nicht.
		Java:
	
	import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class HelperClassFrame implements ActionListener ,ListSelectionListener, MouseListener, KeyListener{
    ArrayList <DefaultComboBoxModel> modelArray = new ArrayList<DefaultComboBoxModel>();
    int arrayCounter = 1;
    String input = "";
    JFrame 		frame 		= new JFrame("Hilfemenu");
    DefaultListModel 	stringModel		;
    Vector <Integer> index = new Vector<Integer>();		;
    JList 		list 		;
    JFrame 		main		;
    JScrollPane 	scr_list	;
    JButton 		bt_close 	= new JButton("zur Hauptansicht");
    DefaultComboBoxModel model		= new DefaultComboBoxModel();
    DefaultComboBoxModel modelTwo	= new DefaultComboBoxModel();
    String [] combo = new String [5];
    JComboBox		cb_test		= new JComboBox();
    JButton 		bt_help		= new JButton("Auswahl öffnen");
    JPanel 		panel 		= new JPanel();
    JPanel		panelSouth	= new JPanel();
    BorderLayout	box 		= new BorderLayout();
    SystemData _Sys 		= (SystemData)CollectionController.getObject("SystemData");
	PropertyData _Data		= (PropertyData)CollectionController.getObject("PropertyData");
	ErrorHelper _Error 		= (ErrorHelper)CollectionController.getObject("ErrorHelper");
	MainFrame _Main 		= (MainFrame)CollectionController.getObject("MainFrame");
	    
    
    public Container addComponentsToPane(){
	model.addElement( " ");
	model.addElement( "Motorrad");
	model.addElement( "Auto");
	model.addElement( "Schiff");
	model.addElement( "Lkw");
	model.addElement( "Mofa");
	model.addElement( "Spider");
	model.addElement( "Coupe");
	model.addElement( "Cabriolet");
	model.addElement( "VW");
	model.addElement( "Opel");
	model.addElement( "Skoda");
	model.addElement( "Fiat");
	model.addElement( "Lada");
	model.addElement( "Trabant");
	model.addElement( "Ford");
	model.addElement( "Kia");
	model.addElement( "Lexus");
	model.addElement( "Hummer");
	
	
	model.addElement(combo);
	cb_test.setModel(model);
	cb_test.addKeyListener(this);
	
        stringModel = new DefaultListModel();
        for (int i =0 ; i < _Data.getProgramHelp().size() ; i++){
  	      stringModel.addElement(_Data.getProgramHelp().get(i));
  	      index.addElement(_Data.getProgramHelpIndex().get(i));
  	      
  	}
       
        
        list = new JList(stringModel);
        list.addListSelectionListener(this);
        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        list.addMouseListener(this);
        scr_list = new JScrollPane(list);
        Container pane = frame.getContentPane();
        
        panel.setLayout(box);
        panel.setBorder(new EmptyBorder(20,20,20,20));
        panel.setBackground(_Sys.getBackground());
        
        panel.add(cb_test, BorderLayout.NORTH);
        
        panel.add(scr_list, BorderLayout.CENTER);
        
        panelSouth.setLayout(new FlowLayout());
        bt_close.setMnemonic('Z');
        bt_close.addActionListener(this);
        bt_help.addActionListener(this);
        panelSouth.add(bt_close);
        panelSouth.add(bt_help);
        panel.add(panelSouth, BorderLayout.SOUTH);
        pane.add(panel);
        return pane;
        
    }
    
    
   
    public void createAndShowGUI(JFrame Main) {
	      this.main = Main;     frame.setContentPane(addComponentsToPane());
      frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
      frame.setSize(400, 600);
      frame.setBackground(_Sys.getBackground());
      frame.setResizable(false);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
     
    }
....
    @Override
    public void keyPressed(KeyEvent e) {
	modelArray.add(model);
	if(e.getKeyCode() > 64 &&
		e.getKeyCode() < 91 ){
	    input = input + e.getKeyChar();
	    
	    
	    checkModelData(input, modelArray.get(arrayCounter));
	    arrayCounter++;
		}
	if(e.getKeyCode() > 96 &&
		e.getKeyCode() < 123 ){
	    input = input + e.getKeyChar();
	    checkModelData(input, modelArray.get(arrayCounter));
	    arrayCounter++;
		}
	if(e.getKeyCode() == 8){
	    if(input.length()>0){
		input = input.substring(0, input.length()-1);
	    }
	    else {return;}
	    
	    
	    if(modelArray.size()>0){
		arrayCounter --;
		for(int z = arrayCounter; z < modelArray.size(); z++){
		    modelArray.remove(z);
		}
		
		
		checkModelData(input, modelArray.get(arrayCounter ));
		
	    }
	    else{
		checkModelData(input, modelArray.get(0));
	    }
	    
	}
	else { return;}
	
	
    }
    
    public void checkModelData(String input, DefaultComboBoxModel model){
	
	
	for(int i = 0; i < model.getSize(); i++){
	    if(model.getElementAt(i).toString().contains(input) ||
		    model.getElementAt(i).toString().startsWith(input) ||
		    model.getElementAt(i).toString().endsWith(input)){
		modelTwo.addElement(model.getElementAt(i));
	    }
	}
	model.removeAllElements();
	for(int p = 0; p < modelTwo.getSize(); p++){
	    model.addElement(modelTwo.getElementAt(p));
	}
	for(int o = 0; o< model.getSize(); o++){
		System.out.println("---"+model.getElementAt(o) + " ---ArrayIndex :" + modelArray.size());
		System.out.println("*********************************");
	}
	cb_test.setModel(model);
	modelTwo.removeAllElements();
    }
    @Override
    public void keyReleased(KeyEvent e) {
	// TODO Auto-generated method stub
	
    }
    @Override
    public void keyTyped(KeyEvent e) {
	// TODO Auto-generated method stub
	
    }
  } 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		