diff -r 000000000000 -r 0359f2c3b3ba java/JFTable/src/cz/frantovo/gui/tabulky/JTable.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/java/JFTable/src/cz/frantovo/gui/tabulky/JTable.java Sat Feb 28 16:51:54 2009 +0100
@@ -0,0 +1,115 @@
+package cz.frantovo.gui.tabulky;
+
+
+import java.awt.Point;
+import java.awt.event.MouseEvent;
+
+import javax.swing.ImageIcon;
+import javax.swing.table.TableModel;
+
+/**
+ * Tahle t��da umo��uje jednoduch�m zp�sobem p�idat va�im tabulk�m funkci
+ * �azen�. Sta�� ve va�� t��d� nahradit:
+ * "import javax.swing.JTable;"
+ * t�mto importem: " import cz.frantovo.gui.tabulky.JTable;
+ *
+ * Pomoc� kl�vesy ctrl jde �adit podle v�ce sloupc�"
+ *
+ * Tak� p�id�v� funkci zobrazov�n� tooltipu (zobrazuje obsah bu�ky)
+ *
+ * Proto�e t��d�c� model a skute�n� model obsahuj� ��dky v jin�m po�ad�,
+ * je pot�eba p�epo��tat index z�skan� metodou getSelectedRow() na index ve skute�n�m modelu
+ *
+ * k tomu slou�� tento postup:
+ * int r = jTable1.getSelectedRow();
+ * int rr = ((TableSorterModel)tabulka.getModel()).modelIndex(r);
+ *
+ * rr je potom index ��dku ve skute�n�m modelu. *
+ *
+ * @author František Kučera
+ */
+public class JTable extends javax.swing.JTable {
+
+ private static final long serialVersionUID = -5133441062459764995L;
+
+ private TableSorterModel tableSorterModel;
+
+ private TableModel realTableModel;
+
+ private boolean showTooltips = false;
+
+ public boolean isShowTooltips ()
+ {
+ return showTooltips;
+ }
+
+ /** Nastavuje, zda se maj� zobrazovat tooltipy zobrazuj�c� obsah bu�ky */
+ public void setShowTooltips (boolean showTooltips)
+ {
+ this.showTooltips = showTooltips;
+ }
+
+ /**
+ * Nastav� TableModel a zabal� ho do TableSorterModelu, tabulka t�m
+ * z�sk� schopnost �azen� ��dk�
+ */
+ @Override
+ public void setModel (TableModel dataModel)
+ {
+ realTableModel = dataModel;
+ tableSorterModel = new TableSorterModel(dataModel);
+
+ tableSorterModel.setTableHeader(getTableHeader());
+
+ super.setModel(tableSorterModel);
+ }
+
+ /**
+ * @return TableModel, kter� obsahuje data. Nen� tedy zabalen do
+ * TableSorterModelu
+ */
+ public TableModel getRealTableModel ()
+ {
+ return realTableModel;
+ }
+
+ /**
+ * @return TableSorterModel, kter� obaluje skute�n� TableModel, kter�
+ * obsahuje data. TableSorterModel slou�� pouze k �azen� polo�ek
+ */
+ @Override
+ public TableModel getModel ()
+ {
+ return super.getModel();
+ }
+
+ /**
+ * Pokud je nastaveno showTooltips, zobrazuje v tooltipu obsah bu�ky pod
+ * my�� (hod� se, pokud je obsah bu�ky p��li� dlouh�). Pokud bu�ka
+ * obsahuje ImageIcon, pak tooltip zobrazuje ImageIcon.getDescription()
+ */
+ @Override
+ public String getToolTipText (MouseEvent event)
+ {
+ if (showTooltips) {
+ Point p = event.getPoint();
+ int col = columnAtPoint(p);
+ int rw = rowAtPoint(p);
+ if (col >= 0 && rw >= 0) {
+ Object o = getValueAt(rw,
+ col);
+ if (o != null) {
+ if (o instanceof ImageIcon) {
+ return ((ImageIcon) o).getDescription();
+ } else {
+ return o.toString();
+ }
+ }
+ }
+ return super.getToolTipText();
+ } else {
+ return super.getToolTipText();
+ }
+ }
+
+}