Prihodim jeste usek kodu z meho archivu ;-) pro pochopeni problemu prepocitavani.
Berte to prosim jen jako takove demo.
Puvodne jsem v kodu mel v podmince !table.isCellEditable(). Te je obvykle lepsi davat prednost , ovsem potreboval jsem pro pristup k externim datum spravne cislo sloupce a tak !table.isCellEditable havarovala, protoze tato metoda dela interne toto:
return getModel().isCellEditable(row, convertColumnIndexToModel(column));
Byl jsem tak nucen volit primou cestu pres model.
 
  private final class ContextMenu extends JPopupMenu {
 
        public final void show(JTable table, Point p) {
            final int selRow = table.rowAtPoint(p);
            final int selCol = table.convertColumnIndexToModel(table.columnAtPoint(p));
 
            HistoryItem historyItem = null;
            if (selRow >= 0 && selCol >= 0 && !model.isCellEditable(selRow, selCol)) {
                historyItem = History.this.getJumpHistoryItem(selCol, selRow);
            }
}
 
Pokud to jeste neni jasne, tak se ptejte.
 
Vity
----- Original Message -----
To: 'Java'
Sent: Monday, April 17, 2006 9:16 PM
Subject: RE: JTable a skryti sloupce

Bohuzel, toto me na zacatku také napadlo.

Ale i když nastavim sirku sloupce na 0px,

tak sirka sloupce se nastavi na delku dat, které sloupec obsahuje.

 

l.

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of jeeff
Sent: Monday, April 17, 2006 9:09 PM
To: Java
Subject: Re: JTable a skryti sloupce

 


nestacilo by len nastavit mu sirku 0px, tym padom nebude v podstate vidiet.

Lukas Adamek wrote:

Toto reseni odebere sloupec natvrdo. Takze to bohuzel neresi muj problem.

Ja potrebuji schovat sloupec, ale i v době, kdy je schovany, pracovat s daty, které obsahuje.

 

Takze ještě trochu upravim dotaz:

Je nejaka moznost jak v jiz zobrazene instanci java.swing.JTable skryt sloupec tak, ale při tom mit stále moznost pracovat s daty které obsahuje?

 

 

l.

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Vity
Sent: Monday, April 17, 2006 8:11 PM
To: Java
Subject: Re: JTable a skryti sloupce

 

Zdravim.

 

import javax.swing.*;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

 

final class HideColumnTest {
    private HideColumnTest() {
    }

 

    public static void main(String[] args) {
        final JTable table = new JTable(10, 5);
        final TableColumnModel colModel = table.getColumnModel();
        JButton button = new JButton("Toggle Column 2");
        button.addActionListener(new ActionListener() {
            private TableColumn removed = null;
            public void actionPerformed(ActionEvent e) {
                if (removed == null) {
                    removed = colModel.getColumn(2);
                    colModel.removeColumn(removed);
                }
                else {
                    colModel.addColumn(removed);
                    colModel.moveColumn(colModel.getColumnCount()-1, 2);
                    removed = null;
                }
            }
        });

 

        JPanel content = new JPanel(new BorderLayout(0, 10));
        content.add(button, BorderLayout.NORTH);
        content.add(new JScrollPane(table));

 

        JFrame f = new JFrame("Hide Column Test");
        f.setContentPane(content);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
}

.... resi vas problem...

 

Vity

----- Original Message -----

From: Lukas Adamek

Sent: Monday, April 17, 2006 8:01 PM

Subject: JTable a skryti sloupce

 

Dobry den

 

Jak muzu (co nejjednoduseji) v jiz zobrazene instanci  java.swing.JTable skryt a nasledne zobrazit cely sloupec?

V API jsem nic, co by se mohlo tykat meho pozadavku nenasel.

 

 

Diky

 

Lukas Adamek

[EMAIL PROTECTED]

www.fayn.cz

 




-- 
jeeff

Odpovedet emailem