Darstellung von JComboBox

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

habe eine Frage bezüglich JComboBox. Ich habe in einer ComboBox Werte drin, die aus 2 Datenbanktabellenspalten zusammengebaut werden. (ID + Text z.B. 01 Katalogwert). Ist es möglich die Inhalte der ComboBox anders darzustellen als String? Vielleicht eine Tabelle mit 2 Spalten??? Das wäre optimal.

Vielen Dank für eure Hilfe und schöne Grüße,
 

EOB

Top Contributor
hallo, ja klar kannst du eine tabelle mit 2 spalten machen. dazu würest du nen jtable nehmen....

grüße
 
G

Guest

Gast
danke für eure hilfe.
@andre Genau das war, dass was ich wollte ^^
 
G

Guest

Gast
eine frage hätte ich noch. kann mir wer sagen wie ich die spaltenbreite beeinflussen kann?
 
G

Guest

Gast
genau so hatte ich es auch versucht. geht in diesem fall leider nicht. wie bereits oben erwähnt habe ich die tabelle in einem combobox liegt wahrscheinlich daran ?!? Ich bekomme ArrayIndexOutOfBoundsException: 0 >= 0. Die Splaten fehlen?!?
Hier mal die Code Anteile vielleicht kannst du mir dann helfen:

Code:
    ....
    JComboBox box = new JComboBox(new Row[] {
                                  new Row("1Row 1", "Row 1 value"),
                                  new Row("2Row 2", "Row 2 value"),
    });    
    
    RowCellRenderer op = new RowCellRenderer();
    TableColumnModel tcm = op.getColumnModel();
    TableColumn col0 = tcm.getColumn(0);
    TableColumn col1 = tcm.getColumn(1);
    col0.setPreferredWidth(50);
    col1.setPreferredWidth(150);
    op.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    box.setRenderer(op);

    getContentPane().add(box);
    ....


  private static class Row {

    private String id, val;

    public Row(String id, String val) {
      this.id = id;
      this.val = val;
    }

    public String getId() {
      return id;
    }

    public String getVal() {
      return val;
    }
  }

  private static class RowCellRenderer
      extends JTable
      implements
      ListCellRenderer {

    public RowCellRenderer() {

      setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    }

    public Component getListCellRendererComponent(JList list,
                                                  Object value, int index,
                                                  boolean isSelected,
                                                  boolean
                                                  cellHasFocus) {
      setModel(new RowTableModel( (Row) value));
      if (isSelected) {
        getSelectionModel().setSelectionInterval(0, 0);
      }
      return this;
    }
  }

  private static class RowTableModel
      extends AbstractTableModel {

    private Row row;

    public RowTableModel(Row row) {
      this.row = row;
    }

    public int getRowCount() {
      return 1;
    }

    public int getColumnCount() {
      return 2;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
      switch (columnIndex) {
        case 0:
          return row.getId();
        case 1:
          return row.getVal();
      }
      return null;
    }
  }
  ...
Wie bereits gesagt, die Anzeige funktioniert. Sobald ich die manipulation der Spalten vornehmen will geht es nicht.
Vielen Dank schonmal im Voraus.
Schöne Grüße
 

André Uhres

Top Contributor
Versuch's mal so:
Code:
       RowCellRenderer op = new RowCellRenderer();
        op.setModel(new RowTableModel(null));
...

EDIT:
Vielleicht musst du aber auch den Resize im Renderer nach jedem "setModel" machen.
 
G

Guest

Gast
Jo. Das kompiliert schonmal und ich bekomme auch wirklich die Spaltenanzahl vom Model.

Das Problem ist jetzt, daß die Spaltenbreite sich den Werten nicht anpasst. Sie sind 50% - 50% angeordnet. Habe auch die Aufrufreihenfolge geändert um zu schauen ob es daran liegen konnte, passiert aber auch nichts.

Hast du da eine Idee? Muss ich vielleicht nach dem ändern refreshen oder so?
 
G

Guest

Gast
Hatte ich natürlich übersehen :oops:
Jetzt funktioniert es wunderbar bis auf eine Kleinigkeit. Und zwar die selektierte Zeile im ComboBox nimmt nicht die gesamte Zeile ein. Egal welche größe ich der Tabele oder den ComboBox gebe.
Habe auch bereits alle Varianten von
Code:
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
ausprobiert.
 

André Uhres

Top Contributor
Die selektierte Zeile im ComboBox reagiert wahrscheinlich nicht auf die setPreferredWidth, versuch mal zusätzlich "setWidth" anzugeben.
 
G

Guest

Gast
Das funzt wie verrückt :toll:
Ich hatte setMinimum... setMaximum... alles angegeben, nur nicht setWidth. Und sieh an es läuft. Danke für deine Hilfe. Hat mir echt geholfen und viel Zeit erspart.
 
G

Guest

Gast
hat da einer eine idee was für einen listener man daran hängt? der listener soll auf die änderungen der tabelle horchen.
 

André Uhres

Top Contributor
Anonymous hat gesagt.:
hat da einer eine idee was für einen listener man daran hängt? der listener soll auf die änderungen der tabelle horchen.
Z.B. einen ItemListener:
Code:
       box.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                if(e.getStateChange() == ItemEvent.SELECTED){
                    Row row = (Row) box.getSelectedItem();
                    System.out.println(row.getId()+" "+row.getVal()+" "+row.getExtra());
                }
            }
        });
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O JComboBox andere Darstellung des Inhaltes + größe der Auswah AWT, Swing, JavaFX & SWT 11
MiMa Darstellung von FXML ateien nicht korrekt (SceneBuilder) AWT, Swing, JavaFX & SWT 2
D Button und Textfeld Darstellung AWT, Swing, JavaFX & SWT 3
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
Y Darstellung und MouseHover bei bestimmten Wörtern in einem String AWT, Swing, JavaFX & SWT 2
W Swing bzgl. Tableskalierung/Darstellung einer Matrix AWT, Swing, JavaFX & SWT 8
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Swing JTable, wie erreiche ich folgende Darstellung? AWT, Swing, JavaFX & SWT 10
M AWT LabelArray verschobene Darstellung AWT, Swing, JavaFX & SWT 2
B Transformation und Darstellung von Koordinaten AWT, Swing, JavaFX & SWT 5
N Swing Java Komponente zur Darstellung von klickbaren Links, die Java Funktionen ausführen können AWT, Swing, JavaFX & SWT 2
A Swing Darstellung von JComponents in Swing AWT, Swing, JavaFX & SWT 14
M Swing JTable drucken/Darstellung AWT, Swing, JavaFX & SWT 2
E Swing Darstellung einer Zeilenbar AWT, Swing, JavaFX & SWT 6
M Eine nicht korrekte Darstellung bei repaint() warum? AWT, Swing, JavaFX & SWT 4
U Swing Problem bei der Darstellung "komplexer Objecte" in einer JList mit AbstractListModel: AWT, Swing, JavaFX & SWT 3
Y LayoutManager Keine vollständige Darstellung der Tabelle mit GridBagLayout AWT, Swing, JavaFX & SWT 3
A Darstellung dauert zu lange. Wie rest verzögern? AWT, Swing, JavaFX & SWT 7
S LayoutManager Fehlerhafte Darstellung einer Statusleiste/Statusbar AWT, Swing, JavaFX & SWT 6
H Thread-Problem mit der Darstellung beim Sperren des Fensters AWT, Swing, JavaFX & SWT 2
S Grafische Darstellung von signalen AWT, Swing, JavaFX & SWT 2
S jTable size und Text darstellung AWT, Swing, JavaFX & SWT 2
L SWT Darstellung des Datums in Textfeld? AWT, Swing, JavaFX & SWT 2
M SWT Probleme bei der Darstellung des "&"-Zeichens... AWT, Swing, JavaFX & SWT 3
E Darstellung komplexer Formen, z.B. gebogener Pfeil AWT, Swing, JavaFX & SWT 2
P Problem mit Darstellung von JButton(s) AWT, Swing, JavaFX & SWT 2
D Darstellung in Swing wie HTML? AWT, Swing, JavaFX & SWT 2
R Darstellung von JButton AWT, Swing, JavaFX & SWT 6
G Swing Darstellung JTable AWT, Swing, JavaFX & SWT 2
T Swing Java Darstellung einer Tabelle AWT, Swing, JavaFX & SWT 3
S Unterschiedliche Darstellung Java 5 und 6 AWT, Swing, JavaFX & SWT 7
B Probleme bei JPanel Darstellung AWT, Swing, JavaFX & SWT 6
M GBL - Darstellung gestreckt? AWT, Swing, JavaFX & SWT 3
P Applet darstellung von Textfeldern Problem AWT, Swing, JavaFX & SWT 3
M Swing mit Gtk - Fehlerhafte Darstellung AWT, Swing, JavaFX & SWT 3
S JTree - Darstellung von Ordnern rückwärts AWT, Swing, JavaFX & SWT 4
C Fragen zur Darstellung einer JTable mittels Renderer AWT, Swing, JavaFX & SWT 2
H Darstellung einer Kurve im Koordinatensystem AWT, Swing, JavaFX & SWT 8
T [gelöst] JFrame Grundlagen (Größe und Darstellung) AWT, Swing, JavaFX & SWT 6
G JTable dynamische Darstellung der ankommenden Daten AWT, Swing, JavaFX & SWT 19
S Gui Darstellung AWT, Swing, JavaFX & SWT 2
M Komische Sache bei der Darstellung auf einem JPanel AWT, Swing, JavaFX & SWT 5
S Swing Element für Explorer-Fenster darstellung AWT, Swing, JavaFX & SWT 13
P Darstellung eines Graphen AWT, Swing, JavaFX & SWT 2
G keine darstellung in JTable AWT, Swing, JavaFX & SWT 2
A JLabel: Unterschiede zw. JRE 1.3 und 1.5 in der Darstellung AWT, Swing, JavaFX & SWT 3
B Komische Darstellung unter Windows 2000 AWT, Swing, JavaFX & SWT 2
Z Seltsame Darstellung verschachtelter GridBagLayouts AWT, Swing, JavaFX & SWT 2
M SWT Darstellung Linux / Win verschieden? AWT, Swing, JavaFX & SWT 4
P Fehlerhafte Darstellung bei JLabel.setText AWT, Swing, JavaFX & SWT 2
C Timer, Darstellung einer Uhr AWT, Swing, JavaFX & SWT 4
D Wie Darstellung / Layout als Liste AWT, Swing, JavaFX & SWT 2
T darstellung eines polynom 5.grades AWT, Swing, JavaFX & SWT 2
S JTable + Sortieren => Problem bei Darstellung AWT, Swing, JavaFX & SWT 13
U JSlider - Probleme bei der Darstellung AWT, Swing, JavaFX & SWT 3
V jTalbe: Probs bei Icon Darstellung AWT, Swing, JavaFX & SWT 4
Z Empfehlung für solche Darstellung! AWT, Swing, JavaFX & SWT 4
F Darstellung von Tastaturkürzel in JMenuItem AWT, Swing, JavaFX & SWT 13
R Mehrzeilige Darstellung von Spalten in SWING-Tabellen AWT, Swing, JavaFX & SWT 5
M Problem mit JTree-Darstellung AWT, Swing, JavaFX & SWT 5
T Problem mit Darstellung AWT, Swing, JavaFX & SWT 6
hannibalstgt Fehler bei JCOMBOBOX GUI Anzeige AWT, Swing, JavaFX & SWT 4
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
N Keylistener & JComboBox AWT, Swing, JavaFX & SWT 5
R JComboBox abfragen AWT, Swing, JavaFX & SWT 1
Esquid If Befehl bei JComboBox AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
D JComboBox Strings aus JTextFields zuordnen AWT, Swing, JavaFX & SWT 2
F JComboBox und Model AWT, Swing, JavaFX & SWT 10
I Editierbare JComboBox, die nur Ganzzahlen als Eingabewerte zulässt AWT, Swing, JavaFX & SWT 3
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
Hatsi09 JCombobox default wert AWT, Swing, JavaFX & SWT 6
D Swing JCombobox Aktion löscht Grafik AWT, Swing, JavaFX & SWT 1
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
R Swing Java9 NullPointerException bei JComboBox AWT, Swing, JavaFX & SWT 13
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
D Swing JCombobox Weiße Leerzeilen AWT, Swing, JavaFX & SWT 10
G JComboBox: Arrow-Button permanent anzeigen AWT, Swing, JavaFX & SWT 4
D Swing Java JComboBox Example AWT, Swing, JavaFX & SWT 16
K Swing JComboBox mit ArrayList füllen AWT, Swing, JavaFX & SWT 4
D Swing "blaues" Element aus JComboBox erhalten AWT, Swing, JavaFX & SWT 6
F JComboBox und Einträge AWT, Swing, JavaFX & SWT 3
gamillton Swing JComboBox mit extra Inhalt + breiteres Popupmenü AWT, Swing, JavaFX & SWT 0
T JPanelsteuerung mit JComboBox AWT, Swing, JavaFX & SWT 5
N Swing Duplikate im Jcombobox vermeiden AWT, Swing, JavaFX & SWT 15
L Swing JComboBox kann nicht erstellt werden! AWT, Swing, JavaFX & SWT 2
C JComboBox Objecte übergeben und Eintrag auswählen AWT, Swing, JavaFX & SWT 3
M Swing JComboBox mit Laufwerksbuchstaben (Windows) AWT, Swing, JavaFX & SWT 6
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
D Swing JComboBox (DefaultComboBoxModel) überschreibt Eintrag beim erstellen AWT, Swing, JavaFX & SWT 0
R Swing Durch JComboBox-Item eine TextArea aktualisieren AWT, Swing, JavaFX & SWT 2
3 JComboBox - Action - Auslesen & Umwandeln AWT, Swing, JavaFX & SWT 9
M Alle Schriftarten in JComboBox AWT, Swing, JavaFX & SWT 5
M Swing JComboBox eigenes Design AWT, Swing, JavaFX & SWT 3
Sin137 JComboBox mit Generics AWT, Swing, JavaFX & SWT 14
R JComboBox erweitern AWT, Swing, JavaFX & SWT 5
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
V Editierbare JComboBox AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben