Hallo,
ich habe für ein Uni-Projekt ein eigenen LayoutManager(bzw. mit viel if und else aus xml ) geschrieben. Erst einmal funkioniert der LM sehr gut mit allen möglichen Panels, Labels etc. Das einzige was überhaupt nicht funktioniert, ist die JComboBox.
Kurz zum Ablauf. Es wird eine Zeile aus einem XML File gelesen und dann je nach type="" unterscheidung ein Component angelegt. Als Component Speicher nutze ich das JComponent. Es werden zusätzlich ein paar GridBagLayout Informationen oder BorderLayout Informationen nachgeladen. Hier ein Code schnipsel:
[HIGHLIGHT="Java"]
// wobei c vom Typ JComponent ist
if (type.equals("combobox")){
c = new JComboBox();
combobox = new JComboBox();
if(dataArray.length > 0){
for(String item : dataArray){
((JComboBox)c).addItem(
((dataTranslate)?Name.getName(item):item)
);
}
}
}
[/HIGHLIGHT]
Später wird dann alles auf ein "Parent" Panel geladen. Es sieht nun mal jetzti n der Darstellung so aus:
Wie man sieht ist der "arrow" (Pfeil) vollig mittig. Ich muss dazu sagen, wenn ich das selbe hard-coded mache geht das alles gut. Ich hab echt schon nach allem gesucht ... Ich sogar bereits ((JComboBox)c).setAlignmentX(JComboBox.RIGHT_ALIGNMENT) und andersrum versucht. Hat jemand eine ähnliche Erfahrung?
Grüße
ich habe für ein Uni-Projekt ein eigenen LayoutManager(bzw. mit viel if und else aus xml ) geschrieben. Erst einmal funkioniert der LM sehr gut mit allen möglichen Panels, Labels etc. Das einzige was überhaupt nicht funktioniert, ist die JComboBox.
Kurz zum Ablauf. Es wird eine Zeile aus einem XML File gelesen und dann je nach type="" unterscheidung ein Component angelegt. Als Component Speicher nutze ich das JComponent. Es werden zusätzlich ein paar GridBagLayout Informationen oder BorderLayout Informationen nachgeladen. Hier ein Code schnipsel:
[HIGHLIGHT="Java"]
// wobei c vom Typ JComponent ist
if (type.equals("combobox")){
c = new JComboBox();
combobox = new JComboBox();
if(dataArray.length > 0){
for(String item : dataArray){
((JComboBox)c).addItem(
((dataTranslate)?Name.getName(item):item)
);
}
}
}
[/HIGHLIGHT]
Später wird dann alles auf ein "Parent" Panel geladen. Es sieht nun mal jetzti n der Darstellung so aus:
Wie man sieht ist der "arrow" (Pfeil) vollig mittig. Ich muss dazu sagen, wenn ich das selbe hard-coded mache geht das alles gut. Ich hab echt schon nach allem gesucht ... Ich sogar bereits ((JComboBox)c).setAlignmentX(JComboBox.RIGHT_ALIGNMENT) und andersrum versucht. Hat jemand eine ähnliche Erfahrung?
Grüße