JTabbedPane: table in new tab: tooltip benutzt die column-widths von table in erstem geöffneten tab

JavaOHJA

Mitglied
Hey,

also ich starte ein frame mit tabbedpane drin und diese enthält eine table+tooltips. funktioniert auch alles, aber wenn ich dann eine gruppe aus der table in einem neuen tab der tabbedpane anzeige, fragen die tooltips nicht die spaltenbreite der neugeöffneten table ab, sondern immernoch die der ersten.

Habs mit repaint() versucht, das klappt aber nicht. mir fällt sonst nix ein. Wer toll wenn jemand weiß worans liegt.

MfG
 

VfL_Freak

Top Contributor
Moin,

deine ToolTipps fragen die Spaltenbreite ab ???:L???:L :bahnhof:

Hast Du denn für den zweiten Tab auch ein eigenes Model, eigene ToolTips usw. deklariert ??

Aber ohne den konkreten Code wird man kaum was dazu sagen können ..... :noe:


Gruß Klaus
 

JavaOHJA

Mitglied
hey, hier ist mal der Code (find grad die tags für code nicht):
Models veränder ich bisher nicht, denk das sind die DefaultModels dann?. zweite table erstelle und adde ich in nem listener.

starttabelle: hier werden die tipps correct für spalte 4 angezeigt.

Java:
final JTable table = new JTable(db.getGruppen(tableData),tableHeader){
         public String getToolTipText(MouseEvent e) {
                String tip = null;
                java.awt.Point p = e.getPoint();
                int rowIndex = table.rowAtPoint(p);
                int colIndex = table.columnAtPoint(p);

                 try {
                    // System.out.println(table.getColumnModel().getColumnIndex(p));
                    if(colIndex == 4)
                     tip = getValueAt(rowIndex, colIndex).toString();
                    
                 } catch (RuntimeException e1) {
                     //catch null pointer exception if mouse is over an empty line
                 }

                 return tip;
            }
    };
    

weitere tabellen werden so hinzugefüg: (und die ToolTips wissen nicht, das die Spalten andere Breiten haben, aber das es eine andere Tabelle ist schon):

    btnGruppeAnzeigen.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {
            
                            
                String gruppenID = MouseWahl;
                String[] tableHeader2 = {"Matrikelnummer","Name","Vorname","Gruppe","Kommentar","Rehabilitant","Datum"};
                JTable table2 = new JTable(db.getGruppenTeilnehmer(gruppenID),tableHeader2){
                     public String getToolTipText(MouseEvent e) {
                            String tip = null;
                            java.awt.Point p = e.getPoint();
                            
                                                        
                            int rowIndex = table.rowAtPoint(p);
                            int colIndex = table.columnAtPoint(p);

                             try {
                                 if(colIndex == 4 )
                                 tip = getValueAt(rowIndex, colIndex).toString();
                                 //tip = "" + rowIndex + "/" +colIndex;
                             } catch (RuntimeException e1) {
                                 //catch null pointer exception if mouse is over an empty line
                             }

                             return tip;
                        }
                };
 
Zuletzt bearbeitet:

Harry Kane

Top Contributor
In den überschriebenen getToolTipText-Methoden greifst du jeweils auf die Variable table zu, obwohl die Variable im 2. Fall table2 heisst.
Da du dich in der getToolTipText-methode sowieso gewissermaßen in einer JTable-Instanz befindest, würde ich mal probieren, rowAtPoint und columnAtPoint ganz ohne vorangestelltes table oder table2 aufzurufen.
 

VfL_Freak

Top Contributor
[EDIT] zu spät ;(


Java:
JTable table2 = new JTable(db.getGruppenTeilnehmer(gruppenID),tableHeader2){
public String getToolTipText(MouseEvent e) 
{
                            String tip = null;
                            java.awt.Point p = e.getPoint();
                                                        
                            int rowIndex = table.rowAtPoint(p);
                            int colIndex = table.columnAtPoint(p);
// ...
Müsste der Zugriff hier nicht über "table2" erfolgen ???:L

Gruß
Klaus
 
Zuletzt bearbeitet:

JavaOHJA

Mitglied
Hätte noch eine weitere Frage zu den ToolTips:
wie kann ich einstellen, dass nach x Zeichen ein Zeilenumbruch gemacht wird? Im Moment wird alles in eine megalange Zeile gepackt, was nicht so toll ist.
 

VfL_Freak

Top Contributor
Hätte noch eine weitere Frage zu den ToolTips:
wie kann ich einstellen, dass nach x Zeichen ein Zeilenumbruch gemacht wird?
Das wird mit ToolTipps vermutlich ein wenig frickelig!
'Einstellen' kannst Du dabei IMHO gar nicht !!
Da musst den darzustellenden Text mit einer eigenen Logik zusammenbasteln und dann jeweils an den gewünschten Stellen umbrechen. Hierzu kannst Du etwa die Anzahl der jeweils hinzugefügten Zeichen zählen und dann "\r\n" einfügen (oder <br>, falls Du ihn HMTL-formatierst).
Hat natürlich den Nachteil, dass Du ggf. mitten im Wort umbrichst ... hier müsste man die Logik dann entsprechend aufschlauen, dass der Zeilennumbruch beim letzten vorherigen Blank kommt o. ä. ..... ;)

Gruß
Klaus
 
Zuletzt bearbeitet:

JavaOHJA

Mitglied
Hey,
ja da bastel ich schon ne Weile rum jetzt. Hab grad gesehen, dass man nem String ein eigenes Format geben kann, meinst du damit könnt es gehen?

hab die Lösung gefunden:
im HTML Teil : <p width=\"150px\"> gewünschte Breite angeben.

Gruß und Danke für die Hilfen!
 
Zuletzt bearbeitet:

JavaOHJA

Mitglied
hey,
hab noch eine weitere Frage:
Wie kann ich in einer JTable die cells editable = false setzen aber trotzdem noch markierbar lassen.
setEnable(false) geht nicht.

Gruß
 

VfL_Freak

Top Contributor
kann ich dir so aus dem Stand wirklich nicht sagen, da ich das noch nie gesucht habe ...
Auf jeden Fall sind "editable" und "enable" aber zwei Paar Schuhe !!!

Gruß Klaus
 

Harry Kane

Top Contributor
Wie kann ich in einer JTable die cells editable = false setzen aber trotzdem noch markierbar lassen.
setEnable(false) geht nicht.
Du musst nix machen, einfach dafür sorgen, dass isCellEdiatble(int row, int col) false zurückgibt. Du kannst die Zellen trotzdem noch markieren.
Schwieriger wäre es eher, auch das auswählen zu unterbinden. Dazu müsste man wohl das selection model anpassen.
 

JavaOHJA

Mitglied
Hey,

wie spreche ich die Methode isCellEditable() an ohne ein DefaultTableModel Objekt zu erzeugen?
also table.getModel.isCellEditable oder Ähnliches? wenn das überhaupt möglich ist.

Danke nochmal für die Hilfe
 

Harry Kane

Top Contributor
Eine JTable hat immer ein TableModel. Wenn du keins explizit anlegst, z. B. wenn du den Konstruktor JTable(Object[][] rowData, Object[] columnNames) verwendest, erzeugt JTable selber eins.
Und da das TableModel-Interface die Methode isCellEditable(int row, int col) deklariert, kannst du immer jtable.getModel().isCellEditable(int, int) aufrufen.
Ich würde dir dringend raten, den Umgang mit der Java API zu üben. Dann lassen sich solche Fragen in Minuten beantworten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
BabySuna darstellungsprobleme mit JTabbedPane und GridBagLayout AWT, Swing, JavaFX & SWT 8
I JTabbedPane mit DnD, [x]-Schaltfläche, [+]-Schaltfläche usw. AWT, Swing, JavaFX & SWT 1
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
D Kein Icon beim JTabbedPane AWT, Swing, JavaFX & SWT 1
B JTabbedPane Tabs anordnen AWT, Swing, JavaFX & SWT 2
D JTabbedPane GUI Experimente AWT, Swing, JavaFX & SWT 4
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
L JTabbedPane mit for Schleife aufbauen AWT, Swing, JavaFX & SWT 4
J JTabbedPane Vollbild wenn Tabwechsel AWT, Swing, JavaFX & SWT 1
B StateChangeListener auf JTabbedPane AWT, Swing, JavaFX & SWT 5
F jTabbedPane Tabwechsel deaktivieren AWT, Swing, JavaFX & SWT 2
J JTabbedPane: close Button Problem AWT, Swing, JavaFX & SWT 2
M JTabbedPane verändern mit Nimbus Look and Feel AWT, Swing, JavaFX & SWT 1
F JTabbedPane bestimmten Tab ansprechen AWT, Swing, JavaFX & SWT 13
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
BRoll JTabbedPane setTitleAt OutOfBoundsExc AWT, Swing, JavaFX & SWT 4
K JTabbedPane Tab Markierung / Selektion AWT, Swing, JavaFX & SWT 4
B Custom JTabbedPane-Tab-Design AWT, Swing, JavaFX & SWT 2
L JTabbedPane Closebutton integrieren AWT, Swing, JavaFX & SWT 6
J JTabbedPane Grafik unterhalb der Tabs AWT, Swing, JavaFX & SWT 3
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
V JTabbedPane Eingefügte Labels verschoben AWT, Swing, JavaFX & SWT 2
M Swing JTabbedPane: Tab-Elemente anpassen AWT, Swing, JavaFX & SWT 3
S Swing JTabbedPane: Nur nach ButtonClick und nicht nach Click auf Tab ins nächste Tab wechseln AWT, Swing, JavaFX & SWT 2
P JTabbedPane per Menuitem erstellen AWT, Swing, JavaFX & SWT 20
K Swing JTabbedPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 19
B Swing JTabbedPane in JApplet -> Reiter bei Aktualisation mehrmals zu sehen AWT, Swing, JavaFX & SWT 3
M JTabbedPane -> setSelectedIndex funzt nicht AWT, Swing, JavaFX & SWT 3
D Bestimmtes JPanel innerhalb eines JTabbedPane ansprechen AWT, Swing, JavaFX & SWT 2
M jtabbedpane aktivieren/deaktivieren AWT, Swing, JavaFX & SWT 13
J Swing Letzten Tab einer JTabbedPane ermitteln AWT, Swing, JavaFX & SWT 6
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
hdi LookAndFeel Nimbus BUG mit JTabbedPane?! AWT, Swing, JavaFX & SWT 5
hdi Swing Problem mit JTabbedPane AWT, Swing, JavaFX & SWT 2
A LookAndFeel Rollover Effekt bei JTabbedPane deaktivieren (Nimbus) AWT, Swing, JavaFX & SWT 8
T Inhalt von einem Tab an JTabbedPane größe ausrichten? AWT, Swing, JavaFX & SWT 2
S JTabbedPane Problem AWT, Swing, JavaFX & SWT 3
S JTabbedPane AWT, Swing, JavaFX & SWT 4
D JTabbedPane mit Eventlistener versehen? AWT, Swing, JavaFX & SWT 9
M Swing JTabbedPane Panels deaktivieren AWT, Swing, JavaFX & SWT 2
K JTabbedPane setName() für jedes Tab AWT, Swing, JavaFX & SWT 2
G JTabbedPane - Länge der Reiter beeinflussen? AWT, Swing, JavaFX & SWT 9
G Swing JTabbedPane Was für ein Border wird da um die Tabs gezeichnet? AWT, Swing, JavaFX & SWT 6
S Swing Komponentengröße in JTabbedPane AWT, Swing, JavaFX & SWT 7
M Ein Tab eine JTabbedPane durch Button Druck öffen AWT, Swing, JavaFX & SWT 2
Y LookAndFeel JTabbedPane: Tab-Farbe mit Nimbus setzen AWT, Swing, JavaFX & SWT 3
M CloseButton bei JTabbedPane AWT, Swing, JavaFX & SWT 4
P Swing JTabbedPane mit JButton einen anderen Tab anzeigen AWT, Swing, JavaFX & SWT 9
D JTabbedPane zentrieren AWT, Swing, JavaFX & SWT 2
S Swing JTabbedPane: Inhalt soll oben links anfangen AWT, Swing, JavaFX & SWT 6
Mike90 JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 17
F JTabbedPane Reiter breite AWT, Swing, JavaFX & SWT 4
B JTabbedPane mit Enumeration dynamisch füllen AWT, Swing, JavaFX & SWT 5
D Swing Tab in JTabbedPane AWT, Swing, JavaFX & SWT 5
A JFrame > JTabbedPane > JPanel > addKeyListener AWT, Swing, JavaFX & SWT 18
D JTabbedPane - Farbe ändern im Bereich hinter den Reitern AWT, Swing, JavaFX & SWT 2
M JTabbedPane - Tab auslesen AWT, Swing, JavaFX & SWT 2
H Swing Problem mit JTabbedPane AWT, Swing, JavaFX & SWT 9
D jtabbedpane Event VOR tab-Wechsel AWT, Swing, JavaFX & SWT 3
S Border von JTabbedpane-Tab? AWT, Swing, JavaFX & SWT 3
M JTabbedPane Docable? AWT, Swing, JavaFX & SWT 3
L Swing JTabbedPane - Index vom Tab AWT, Swing, JavaFX & SWT 3
D Swing JTabbedPane, TabComponent & Popup AWT, Swing, JavaFX & SWT 4
F Borders von JTabbedPane und JScrollPane AWT, Swing, JavaFX & SWT 5
W JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 4
G Swing JTabbedPane vergrößern AWT, Swing, JavaFX & SWT 2
H Swing Register (jTabbedPane) dynamisch hinzufügen? AWT, Swing, JavaFX & SWT 7
D Tabs von JTabbedPane stylen AWT, Swing, JavaFX & SWT 6
U JTabbedPane: Layout-Probleme bei addTab zur Laufzeit AWT, Swing, JavaFX & SWT 2
1 JTabbedPane Tab ausdehnen AWT, Swing, JavaFX & SWT 3
F Swing JTabbedPane: Zur Laufzeit die Tabreihenfolge ändern AWT, Swing, JavaFX & SWT 2
M Elemente in JTabbedPane platzieren AWT, Swing, JavaFX & SWT 7
B Swing JFormattedTextField auf mehreren JPanels in einer JTabbedPane AWT, Swing, JavaFX & SWT 3
K LookAndFeel JTabbedPane mit Icon und CloseButton AWT, Swing, JavaFX & SWT 2
D Swing Probleme bei mit JTabbedPane.getChildren() AWT, Swing, JavaFX & SWT 4
I Swing Randnutzung bei JTabbedPane.LEFT AWT, Swing, JavaFX & SWT 2
ABstraCT JTabbedPane - click wird nicht immer ausgeführt ! AWT, Swing, JavaFX & SWT 10
P JTabbedPane und fill? AWT, Swing, JavaFX & SWT 2
D Swing mehrere JTable in separaten Tabs einer JTabbedPane AWT, Swing, JavaFX & SWT 2
G JTabbedPane transparent AWT, Swing, JavaFX & SWT 2
S Swing JTabbedPane: Resize des JFrame bei Tab wechsel AWT, Swing, JavaFX & SWT 8
thE_29 Swing JTabbedPane Focus von Komponenten außerhalb AWT, Swing, JavaFX & SWT 10
S Scrollbar in einem JTabbedPane AWT, Swing, JavaFX & SWT 4
A Schriftfarbe von jTabbedPane und Button Ändern AWT, Swing, JavaFX & SWT 7
R JTabbedPane Selektion verfolgen? AWT, Swing, JavaFX & SWT 2
byte JTabbedPane - Insets entfernen AWT, Swing, JavaFX & SWT 7
S JTabbedPane child setBounds AWT, Swing, JavaFX & SWT 4
J jTabbedPane mit jPanel füllen AWT, Swing, JavaFX & SWT 14
A JTable im JTabbedPane -> Überschriften werden nicht angez AWT, Swing, JavaFX & SWT 2
V Extended JTabbedPane AWT, Swing, JavaFX & SWT 7
V JTabbedPane - keine "Focus"-Box auf selektiertem T AWT, Swing, JavaFX & SWT 2
G JTabbedPane wird groesser wenn man anderen Tab auswaehlt. AWT, Swing, JavaFX & SWT 2
A JTabbedPane Tabwechsel rausfinden AWT, Swing, JavaFX & SWT 2
O JTabbedPane - Selected Color? AWT, Swing, JavaFX & SWT 1
T Wie aktualisiere ich die Contents einer JTabbedPane? AWT, Swing, JavaFX & SWT 3
G JTabbedPane zentiert alles AWT, Swing, JavaFX & SWT 3
P Schließen-Button bei JTabbedPane? AWT, Swing, JavaFX & SWT 2
D Probleme mit JTabbedPane AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben