1 package cz.frantovo.gui.tabulky;
5 import java.awt.event.MouseEvent;
7 import javax.swing.ImageIcon;
8 import javax.swing.table.TableModel;
11 * Tahle t��da umo��uje jednoduch�m zp�sobem p�idat va�im tabulk�m funkci
12 * �azen�. Sta�� ve va�� t��d� nahradit: <br>
13 * "import javax.swing.JTable;" <br>
14 * t�mto importem: " import cz.frantovo.gui.tabulky.JTable;<br>
16 * Pomoc� kl�vesy ctrl jde �adit podle v�ce sloupc�" <br>
18 * Tak� p�id�v� funkci zobrazov�n� tooltipu (zobrazuje obsah bu�ky)
20 * Proto�e t��d�c� model a skute�n� model obsahuj� ��dky v jin�m po�ad�,<br>
21 * je pot�eba p�epo��tat index z�skan� metodou getSelectedRow() na index ve skute�n�m modelu<br>
23 * k tomu slou�� tento postup:<br>
24 * int r = jTable1.getSelectedRow();<br>
25 * int rr = ((TableSorterModel)tabulka.getModel()).modelIndex(r);<br>
27 * rr je potom index ��dku ve skute�n�m modelu. *
29 * @author František Kučera
31 public class JTable extends javax.swing.JTable {
33 private static final long serialVersionUID = -5133441062459764995L;
35 private TableSorterModel tableSorterModel;
37 private TableModel realTableModel;
39 private boolean showTooltips = false;
41 public boolean isShowTooltips ()
46 /** Nastavuje, zda se maj� zobrazovat tooltipy zobrazuj�c� obsah bu�ky */
47 public void setShowTooltips (boolean showTooltips)
49 this.showTooltips = showTooltips;
53 * Nastav� TableModel a zabal� ho do TableSorterModelu, tabulka t�m
54 * z�sk� schopnost �azen� ��dk�
57 public void setModel (TableModel dataModel)
59 realTableModel = dataModel;
60 tableSorterModel = new TableSorterModel(dataModel);
62 tableSorterModel.setTableHeader(getTableHeader());
64 super.setModel(tableSorterModel);
68 * @return TableModel, kter� obsahuje data. Nen� tedy zabalen do
71 public TableModel getRealTableModel ()
73 return realTableModel;
77 * @return TableSorterModel, kter� obaluje skute�n� TableModel, kter�
78 * obsahuje data. TableSorterModel slou�� pouze k �azen� polo�ek
81 public TableModel getModel ()
83 return super.getModel();
87 * Pokud je nastaveno showTooltips, zobrazuje v tooltipu obsah bu�ky pod
88 * my�� (hod� se, pokud je obsah bu�ky p��li� dlouh�). Pokud bu�ka
89 * obsahuje ImageIcon, pak tooltip zobrazuje ImageIcon.getDescription()
92 public String getToolTipText (MouseEvent event)
95 Point p = event.getPoint();
96 int col = columnAtPoint(p);
97 int rw = rowAtPoint(p);
98 if (col >= 0 && rw >= 0) {
99 Object o = getValueAt(rw,
102 if (o instanceof ImageIcon) {
103 return ((ImageIcon) o).getDescription();
109 return super.getToolTipText();
111 return super.getToolTipText();