ComboBox nimmt nur ein Item an

Schaaaf

Bekanntes Mitglied
Hallo,

an der Stelle, wo die Maus geklickt wird, entsteht eine ComboBox. Mein Problem, wenn ich so wie unten stehend Items hinzufügen will, steht immer nur das erste in der Liste, sonst nix.

Java:
public class MovedArea {
	
	private JComboBox ValuesArea = null;
	private String values;
	public String[] splitNames;
	private BufferedReader in;
	
	public JComboBox getValuesArea(Point2D mouseClick, int i) {
		if (ValuesArea == null) {
			ValuesArea = new JComboBox();
			ValuesArea.setBackground(Color.red);
			ValuesArea.setBounds((int)mouseClick.getX(), (int)mouseClick.getY(), (int)mouseClick.getX(), (int)mouseClick.getY());
			ValuesArea.setFont(new Font("Dialog", Font.BOLD, 12));
			ValuesArea.setLayout(new BoxLayout(getValuesArea(mouseClick, i), BoxLayout.Y_AXIS));
			ValuesArea.addItem("test1");
			try {
				ValuesArea.removeAll();
				in = new BufferedReader(new FileReader("MeineDatei.txt"));
				in.readLine();
				while ((values = in.readLine()) != null) {
					splitNames = values.split("\t");
					ValuesArea.addItem(splitNames[i]);	
				}			
			} 
			catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}	
		}
		return ValuesArea;
	}
}

Per

Java:
ComboBox = movedArea.getValuesArea(Pos, i);
        				initializeTextArea(ComboBox);

private void initializeTextArea(JComboBox ComboBox) {
		paintingComponent.setComboBox(ComboBox);
		paintingComponent.repaint();
	}

rufe ich dieses auf.

Was mache ich falsch?
 
Tipp schau mal in deine Console, da steht sicher eine FileNotFoundException, "MeineDatei.txt" wird woanders gesucht als du es erwartest.

Wenn MeineDatei.txt sich nie ändert, dann lade sie über den ClassPath, wenn sie sich ändert stecke sie ins Userhome und lade sie von da.
 
Nein, mit der Datei hat das nix zu tun. Ich habe festgestellt, dass das "zeichnen" der Box in einer endlos Schleife in der paintCoponente gelandet ist. Jetzt stehen alle Werte drin, die ich brauche...

Ein Problem bleibt allerdings:

Wenn ich an eine andere Stelle in dem Panel klicke, dann soll die erste Box gelöscht werden und eine neue an der neuen Position erstellt werden. Kann doch nicht so schwer sein, dachte ich, aber leider finde ich die Lösung nicht.
 

Neue Themen


Zurück
Oben