Variable ist leer / Scope von Variablen

bingoTop

Mitglied
Hy,

ich habe folgenden Code,

Java:
public class meinProg {
	private JFrame frame;
	private Map<String, Color> myColors = new HashMap<String, Color>();

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					meinProg window = new meinProg();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public meinProg() {
		myColors.put("Eintrag 1", Color.RED);
		myColors.put("Eintrag 2", Color.red);
		myColors.put("Eintrag 3", Color.black);

		// myColors enthält nun Einträge
		System.out.println(myColors.size());
		initialize();
	}

	private String[] getKeysOfHashmap(Map<String, Color> algoColors2) {
		String[] ret = new String[algoColors2.size()];
		int index = 0;

		Iterator it = algoColors2.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry pairs = (Map.Entry) it.next();
			ret[index] = (String) pairs.getKey();
			index++;
			it.remove();
		}

		return ret;
	}

	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 656, 501);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);

		JList list = new JList();
		list.setModel(new AbstractListModel() {
			String[] values = getKeysOfHashmap(myColors);

			public int getSize() {
				return values.length;
			}

			public Object getElementAt(int index) {
				return values[index];
			}
		});

		list.setCellRenderer(new ListAlgoCellRenderer() {
			public Component getListCellRendererComponent(JList list,
					Object value, int index, boolean isSelected,
					boolean cellHasFocus) {
				setText(value.toString());

				if (isSelected) {
					setBackground(Color.blue);
				} else {
					setBackground(Color.white);
				}

				// Hier ist myColors leer, warum?
				System.out.println(myColors.get(value.toString()) + " - "
						+ myColors.size());

				return this;
			}
		});
		list.setBounds(42, 48, 154, 93);
		frame.getContentPane().add(list);
	}
}

Im Konstruktor setze ich die Hashmap:
Java:
		myColors.put("Eintrag 1", Color.RED);
		myColors.put("Eintrag 2", Color.red);
		myColors.put("Eintrag 3", Color.black);

jedoch ist danach die Variable im CellRenderer leer:
Java:
System.out.println(myColors.get(value.toString()) + " - "
						+ myColors.size());
gibt null - 0 zurück.

Der Konstruktor wird doch als erstes aufgerufen und die Variablen-Werte werden auch erfolgreich gesetzt. Warum sind diese später nicht mehr verfügbar?
 

pl4gu33

Top Contributor
Java:
while (it.hasNext()) {
            Map.Entry pairs = (Map.Entry) it.next();
            ret[index] = (String) pairs.getKey();
            index++;            
            it.remove();
        }

hier löschst du die Elemente mit dem remove aus der Map
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O No X11 DISPLAY Variable was set AWT, Swing, JavaFX & SWT 6
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
S Swing jx cannot be resolved to a variable (2.) AWT, Swing, JavaFX & SWT 1
S Swing jx cannot be resolved to a variable AWT, Swing, JavaFX & SWT 6
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
G Swing Variable Elemente für GroupLayout AWT, Swing, JavaFX & SWT 18
MR._FIRE_Flower Variable setzten mit JButton AWT, Swing, JavaFX & SWT 5
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
Z ActionListener Variable übergeben AWT, Swing, JavaFX & SWT 12
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
U Eingabe von TextField in variable speichern AWT, Swing, JavaFX & SWT 2
B SWT Globale Variable AWT, Swing, JavaFX & SWT 10
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
J ActionListener erkennt Variable nicht AWT, Swing, JavaFX & SWT 6
D JavaFX Gesetzte Variable in einem Controller im Controller laden AWT, Swing, JavaFX & SWT 1
Z Wird die Variable nicht übergeben ? AWT, Swing, JavaFX & SWT 16
L Swing Variable Anzahl an JButtons AWT, Swing, JavaFX & SWT 7
L ActionPerformed Variable übergeben AWT, Swing, JavaFX & SWT 3
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
J JavaFX Variable an neue Scene übergeben AWT, Swing, JavaFX & SWT 8
V Warum wird meine Variable nicht erkannt? AWT, Swing, JavaFX & SWT 2
M Swing Alter Wert von einer Variable wird verwendet AWT, Swing, JavaFX & SWT 8
F Swing TextField Eingabe in Variable umwandeln um zum Beispiel zu rechnen. AWT, Swing, JavaFX & SWT 3
Kandum obj_JMenu.addMenuListener - variable Anzahl an JMenus / menulistenern & frame.setTitle() dynamisch AWT, Swing, JavaFX & SWT 7
J Swing String soll als Variable dienen AWT, Swing, JavaFX & SWT 11
J Button En-/Disablen - Warum variable final? AWT, Swing, JavaFX & SWT 2
M private Variable übergeben AWT, Swing, JavaFX & SWT 12
U AWT local variable * is accessed from within inner class; needs to be declared final AWT, Swing, JavaFX & SWT 6
R Swing Variable Panelbreite ohne Layoutmanager AWT, Swing, JavaFX & SWT 6
T Image skaliert in Variable speichern AWT, Swing, JavaFX & SWT 6
H Swing variable in Numberfield ausgeben AWT, Swing, JavaFX & SWT 5
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
C Swing JTextPane zeigt HTML-Text aus Variable nicht an :( AWT, Swing, JavaFX & SWT 3
B Anprechen von TextAreas mit Variable AWT, Swing, JavaFX & SWT 2
N Listener für Variable AWT, Swing, JavaFX & SWT 4
B Button benennen via Variable? AWT, Swing, JavaFX & SWT 6
B Variable wird nicht gefunden AWT, Swing, JavaFX & SWT 5
C Button/Textfeld mit Variable verknüpfen AWT, Swing, JavaFX & SWT 4
B Swing Variable in JTextfield geht nicht AWT, Swing, JavaFX & SWT 10
B problem mit variable (final) AWT, Swing, JavaFX & SWT 7
P Zeichen abhängig davon, ob sich eine Variable geändert hat AWT, Swing, JavaFX & SWT 2
T statische Variable zum Referenzieren einer Instanz von Frame AWT, Swing, JavaFX & SWT 3
J Integer aus Textdatei auslesen und in Variable speichern AWT, Swing, JavaFX & SWT 11
T Variable Menge an Bildern außerhalb paint() zeichnen? AWT, Swing, JavaFX & SWT 2
J -variable Formular Klasse AWT, Swing, JavaFX & SWT 2
E Variable übergeben AWT, Swing, JavaFX & SWT 4
B Cannot refer to a non-final variable (JButton) AWT, Swing, JavaFX & SWT 3
kb frame als globale variable AWT, Swing, JavaFX & SWT 2
G JTable - Zeilenhöhe variable? AWT, Swing, JavaFX & SWT 2
D Auf Variable zugreifen AWT, Swing, JavaFX & SWT 3
G variable übergeben in andere klasse AWT, Swing, JavaFX & SWT 4
S Bild in einer Variable speichern AWT, Swing, JavaFX & SWT 7
S Eingabe des Textfeldes in Variable speichern AWT, Swing, JavaFX & SWT 7
R JFrame -- Variable Positionierung durch Window Manager? AWT, Swing, JavaFX & SWT 2
M variable Jtable AWT, Swing, JavaFX & SWT 4
P GetSelectetItem() erkennt Variable aus Liste nicht. AWT, Swing, JavaFX & SWT 2
K Polygon in image variable? AWT, Swing, JavaFX & SWT 2
T Variable Zeilenhöhe in jTable AWT, Swing, JavaFX & SWT 5
P JTable variable Zeilengröße AWT, Swing, JavaFX & SWT 3
O Display Env. Variable unter (X11) von ClientApp. abfragen AWT, Swing, JavaFX & SWT 2
_user_q [JavaFX] Spinner so einstellen, dass er nicht leer bleiben darf? AWT, Swing, JavaFX & SWT 6
G JavaFX Scene ausdrucken nicht möglich, Seite leer AWT, Swing, JavaFX & SWT 5
V JavaFX Bild leer und keine Fehlermeldung AWT, Swing, JavaFX & SWT 21
RedEagle Swing JTextArea ist leer AWT, Swing, JavaFX & SWT 13
D JavaFX TableView bleibt leer. AWT, Swing, JavaFX & SWT 8
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JTable: Prüfen ob Zelle leer ist AWT, Swing, JavaFX & SWT 5
llabusch Prüfen ob JMenu leer ist & löschen AWT, Swing, JavaFX & SWT 1
M Fenster mit ProgressMonitor immer leer AWT, Swing, JavaFX & SWT 23
S Swing JComboBox mit MutableComboBoxModel ist leer nach addItem AWT, Swing, JavaFX & SWT 4
1 JFrame bleibt leer, keine Ahnung warum AWT, Swing, JavaFX & SWT 7
A Swing JTable bleibt leer AWT, Swing, JavaFX & SWT 2
A SWT Composite bleibt leer AWT, Swing, JavaFX & SWT 7
A Swing JTextField - vorausgefüllt bei klick leer AWT, Swing, JavaFX & SWT 54
V JList ist leer -Model ist voll. Ja, ne is klaaa. AWT, Swing, JavaFX & SWT 8
S schauen ob ein string leer ist AWT, Swing, JavaFX & SWT 4
G JTextField leer AWT, Swing, JavaFX & SWT 2
S statusleiste bleibt leer und gui hängt AWT, Swing, JavaFX & SWT 3
B JFrame nach Start leer, größer ziehen zeigt Inhalt an AWT, Swing, JavaFX & SWT 2
G JBomboBox mal voll mal leer AWT, Swing, JavaFX & SWT 9
Paule JFrame bleibt leer, wieso? AWT, Swing, JavaFX & SWT 2
T Klassenobjekte in paintComponent()/ paint() leer AWT, Swing, JavaFX & SWT 3
H Swing No enclosing instance of the type mainform is accessible in scope AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben