Guten Morgen,
im Prinzip ist das Problem simpel, der Tooltip einer ComboBox funktioniert nicht. Ich werde mal zeigen wie ich das bisher gemacht habe:
Aus einer Hauptmethode wird das erstellen einer ComboBox ausgeführt:
Das führt dann zu folgender Methode:
Die ComboBox wird richtig mit den 10 Werten erstellt.
Der MyComboBoxRenderer sieht so aus:
Nun sind die ganzen tooltips mit Wurst0-11 gefüllt und der ComboboxToolTipRenderer sieht so aus:
Es erscheint beim Starten keinerlei Tooltips in den Boxen. Erst wenn ich ein element anklicke kommt in der Console:
Was mache ich falsch ?
im Prinzip ist das Problem simpel, der Tooltip einer ComboBox funktioniert nicht. Ich werde mal zeigen wie ich das bisher gemacht habe:
Aus einer Hauptmethode wird das erstellen einer ComboBox ausgeführt:
Java:
...
komplettrahmen.combosErstellen(4, jTable1, komplettrahmen.getRow3());
...
Das führt dann zu folgender Methode:
Java:
public void combosErstellen(int spalte, JTable table, ArrayList<Integer> rahmen){
String[] values = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
TableColumn comboColumn = table.getColumnModel().getColumn(spalte);
comboColumn.setCellEditor(new MyComboBoxEditor(values));
comboColumn.setCellRenderer(new MyComboBoxRenderer(values,rahmen));
// System.out.println(rahmen3);
}
Die ComboBox wird richtig mit den 10 Werten erstellt.
Der MyComboBoxRenderer sieht so aus:
Java:
class MyComboBoxRenderer extends JComboBox implements TableCellRenderer {
ArrayList<Integer> rahmen1;
ArrayList<String> tooltips = new ArrayList<String>();
public MyComboBoxRenderer(String[] items, ArrayList<Integer> rahmen) {
super(items);
ComboboxToolTipRenderer renderer = new ComboboxToolTipRenderer();
super.setRenderer(renderer);
// Tooltips setzen
for (int x = 0; x < 12; x++){
tooltips.add(x,"Wurst"+x);
}
renderer.setTooltips(tooltips);
rahmen1 = rahmen;
// Rahmen hat ja allgemein ab 1 erst, aber oberste braucht ja auch eine Combobox
rahmen1.add(0);
}
Nun sind die ganzen tooltips mit Wurst0-11 gefüllt und der ComboboxToolTipRenderer sieht so aus:
Java:
public class ComboboxToolTipRenderer extends DefaultListCellRenderer {
ArrayList<String> tooltips;
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
JComponent comp = (JComponent) super.getListCellRendererComponent(list,value, index, isSelected, cellHasFocus);
if (-1 < index && null != value && null != tooltips) {
System.out.println(tooltips.get(index));
list.setToolTipText(tooltips.get(index));
}
return comp;
}
public void setTooltips(ArrayList<String> tooltips) {
this.tooltips = tooltips;
}
}
Es erscheint beim Starten keinerlei Tooltips in den Boxen. Erst wenn ich ein element anklicke kommt in der Console:
Code:
Wurst0
Wurst1
Wurst2
Wurst3
Wurst4
Wurst5
Wurst6
Wurst7
Wurst8
Wurst9
Wurst10
Was mache ich falsch ?