我想全面的了解JTable的使用方法
有几种用法
我在用JTabel显示数据库上遇到了问题
有人能帮忙提供点资料吗?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【caowy112】截止到2008-06-28 02:25:18的历史汇总数据(不包括此帖):
    发帖数:18                 发帖分:420                
    结贴数:2                  结贴分:40                 
    未结数:16                 未结分:380                
    结贴率:11.11 %            结分率:9.52  %            
      

  2.   

    结贴率:11.11 %    
    谁有时间就帮一下吧,我GUI不熟悉。
      

  3.   

    构造方法摘要 
    JTable() 
              构造一个默认的 JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化。 
    JTable(int numRows, int numColumns) 
              使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable。 
    JTable(Object[][] rowData, Object[] columnNames) 
              构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames。 
    JTable(TableModel dm) 
              构造一个 JTable,使用数据模型 dm、默认的列模型和默认的选择模型对其进行初始化。 
    JTable(TableModel dm, TableColumnModel cm) 
              构造一个 JTable,使用数据模型 dm、列模型 cm 和默认的选择模型对其进行初始化。 
    JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) 
              构造一个 JTable,使用数据模型 dm、列模型 cm 和选择模型 sm 对其进行初始化。 
    JTable(Vector rowData, Vector columnNames) 
              构造一个 JTable 来显示 Vector 所组成的 Vector rowData 中的值,其列名称为 columnNames。 
      方法摘要 
     void addColumn(TableColumn aColumn) 
              将 aColumn 追加到此 JTable 的列模型所保持的列数组的尾部。 
     void addColumnSelectionInterval(int index0, int index1) 
              将从 index0 到 index1 之间(包含两端)的列添加到当前选择中。 
     void addNotify() 
              调用 configureEnclosingScrollPane 方法。 
     void addRowSelectionInterval(int index0, int index1) 
              将从 index0 到 index1 之间(包含两端)的行添加到当前选择中。 
     void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) 
              根据 toggle 和 extend 这两个标志的状态,更新表的选择模型。 
     void clearSelection() 
              取消选中所有已选定的行和列。 
     void columnAdded(TableColumnModelEvent e) 
              将列添加到表的列模型时调用。 
     int columnAtPoint(Point point) 
              返回 point 所在的列索引;如果结果不在 [0, getColumnCount()-1] 范围内,则返回 -1。 
     void columnMarginChanged(ChangeEvent e) 
              当列由于间距的更改而被移动时调用。 
     void columnMoved(TableColumnModelEvent e) 
              重新定位列时调用。 
     void columnRemoved(TableColumnModelEvent e) 
              从表的列模型中移除列时调用。 
     void columnSelectionChanged(ListSelectionEvent e) 
              TableColumnModel 的选择模型更改时调用。 
    protected  void configureEnclosingScrollPane() 
              如果此 JTable 是一个封闭 JScrollPane 的 viewportView(通常情况如此),那么可通过安装表的 tableHeader 作为滚动窗格的 columnHeaderView 来配置此 ScrollPane。 
     int convertColumnIndexToModel(int viewColumnIndex) 
              将视图中位于 viewColumnIndex 的列索引映射到表模型中的列索引。 
     int convertColumnIndexToView(int modelColumnIndex) 
              将表模型中位于 modelColumnIndex 的列索引映射到视图中的列索引。 
     int convertRowIndexToModel(int viewRowIndex) 
              将基于视图的行索引映射到底层 TableModel。 
     int convertRowIndexToView(int modelRowIndex) 
              将基于 TableModel 的行索引映射到该视图。 
    protected  TableColumnModel createDefaultColumnModel() 
              返回默认的列模型对象,它是一个 DefaultTableColumnModel。 
     void createDefaultColumnsFromModel() 
              使用 TableModel 接口中定义的 getColumnCount 方法根据数据模型创建默认的表列。 
    protected  TableModel createDefaultDataModel() 
              返回默认的表模型对象,它是一个 DefaultTableModel。 
    protected  void createDefaultEditors() 
              为 object、number 和 boolean 值创建默认的单元格编辑器。 
    protected  void createDefaultRenderers() 
              为 object、number、double、date、boolean 和 icon 创建默认的单元格渲染器。 
    protected  ListSelectionModel createDefaultSelectionModel() 
              返回默认的选择模型对象,它是一个 DefaultListSelectionModel。 
    protected  JTableHeader createDefaultTableHeader() 
              返回默认的表标题对象,它是一个 JTableHeader。 
    static JScrollPane createScrollPaneForTable(JTable aTable) 
              已过时。 从 Swing version 1.0.2 开始,由 new JScrollPane(aTable) 取代。 
     void doLayout() 
              使此表布局其行和列。 
     boolean editCellAt(int row, int column) 
              如果 row 和 column 位置的索引在有效范围内,并且这些索引处的单元格是可编辑的,则以编程方式启动该位置单元格的编辑。 
     boolean editCellAt(int row, int column, EventObject e) 
              如果 row 和 column 位置的索引在有效范围内,并且这些索引处的单元格是可编辑的,则以编程方式启动该位置单元格的编辑。 
     void editingCanceled(ChangeEvent e) 
              编辑取消时调用。 
     void editingStopped(ChangeEvent e) 
              编辑结束时调用。 
     AccessibleContext getAccessibleContext() 
              获取与此 JTable 关联的 AccessibleContext。 
     boolean getAutoCreateColumnsFromModel() 
              确定表是否要根据模型创建默认的列。 
     boolean getAutoCreateRowSorter() 
              如果每当模型更改时,都应该创建一个新 RowSorter 并作为该表的排序器安装,则返回 true;否则,返回 false。 
     int getAutoResizeMode() 
              返回表的自动调整模式。 
     TableCellEditor getCellEditor() 
              返回活动单元格编辑器;如果该表当前没有被编辑,则返回 null。 
     TableCellEditor getCellEditor(int row, int column) 
              返回适用于由 row 和 column 所指定单元格的编辑器。 
     Rectangle getCellRect(int row, int column, boolean includeSpacing) 
              返回位于 row 和 column 相交位置的单元格矩形。 
     TableCellRenderer getCellRenderer(int row, int column) 
              返回适于由此行和列所指定单元格的渲染器。 
     boolean getCellSelectionEnabled() 
              如果同时启用了行选择模型和列选择模型,则返回 true。 
     TableColumn getColumn(Object identifier) 
              返回表中列的 TableColumn 对象,当使用 equals 进行比较时,表的标识符等于 identifier。 
     Class<?> getColumnClass(int column) 
              返回出现在视图中 column 列位置处的列类型。 
     int getColumnCount() 
              返回列模型中的列数。 
     TableColumnModel getColumnModel() 
              返回包含此表所有列信息的 TableColumnModel。 
     String getColumnName(int column) 
              返回出现在视图中 column 列位置处的列名称。 
     boolean getColumnSelectionAllowed() 
              如果可以选择列,则返回 true。 
     TableCellEditor getDefaultEditor(Class<?> columnClass) 
              尚未在 TableColumn 中设置编辑器时,返回要使用的编辑器。 
     TableCellRenderer getDefaultRenderer(Class<?> columnClass) 
              尚未在 TableColumn 中设置渲染器时,返回要使用的单元格渲染器。 
     boolean getDragEnabled() 
              返回是否启用自动拖动处理。 
     JTable.DropLocation getDropLocation() 
              返回对组件的 DnD 操作期间此组件应该可见地指示为放置位置的位置;如果当前没有显示任何位置,则返回 null。 
     DropMode getDropMode() 
              返回此组件的放置模式。 
     int getEditingColumn() 
              返回包含当前被编辑的单元格的列索引。 
     int getEditingRow() 
              返回包含当前被编辑的单元格的行索引。 
     Component getEditorComponent() 
              返回处理编辑会话的组件。 
     boolean getFillsViewportHeight() 
              返回此表是否始终大到足以填充封闭视口的高度。 
     Color getGridColor() 
              返回用来绘制网格线的颜色。 
     Dimension getIntercellSpacing() 
              返回单元格之间的水平间距和垂直间距。 
     TableModel getModel() 
              返回提供此 JTable 所显示数据的 TableModel。 
     Dimension getPreferredScrollableViewportSize() 
              返回此表视口的首选大小。 
     Printable getPrintable(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) 
              返回打印此 JTable 中所使用的 Printable。 
     int getRowCount() 
              返回 JTable 中可以显示的行数(给定无限空间)。 
     int getRowHeight() 
              返回表的行高,以像素为单位。 
     int getRowHeight(int row) 
              返回 row 中单元格的高度,以像素为单位。 
     int getRowMargin() 
              获取单元格之间的间距,以像素为单位。 
     boolean getRowSelectionAllowed() 
              如果可以选择行,则返回 true。 
     RowSorter<? extends TableModel> getRowSorter() 
              返回负责排序的对象。 
     int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) 
              返回 visibleRect.height 或 visibleRect.width,这取决于此表的方向。 
     boolean getScrollableTracksViewportHeight() 
              返回 false 指示表的高度不是由视口的高度决定的,除非 getFillsViewportHeight 为 true 并且该表的首选高度小于视口的高度。 
     boolean getScrollableTracksViewportWidth() 
              如果 autoResizeMode 设置为 AUTO_RESIZE_OFF,则返回 false,这指示表的宽度不是由视口的宽度决定的。 
     int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 
              返回完全呈现出一个新行或新列(取决于方向)的滚动增量(以像素为单位)。 
     int getSelectedColumn() 
              返回第一个选定列的索引;如果没有选定的列,则返回 -1。 
     int getSelectedColumnCount() 
              返回选定列数。 
     int[] getSelectedColumns() 
              返回所有选定列的索引。 
     int getSelectedRow() 
              返回第一个选定行的索引;如果没有选定的行,则返回 -1。 
     int getSelectedRowCount() 
              返回选定行数。 
     int[] getSelectedRows() 
              返回所有选定行的索引。 
     Color getSelectionBackground() 
              返回选定单元格的背景色。 
     Color getSelectionForeground() 
              返回选定单元格的前景色。 
     ListSelectionModel getSelectionModel() 
              返回用来维持行选择状态的 ListSelectionModel。 
     boolean getShowHorizontalLines() 
              如果表绘制单元格之间的水平线,则返回 true,否则返回 false。 
     boolean getShowVerticalLines() 
              如果表绘制单元格之间的垂直线,则返回 true,否则返回 false。 
     boolean getSurrendersFocusOnKeystroke() 
              如果在键击导致编辑器被激活时编辑器应该获得焦点,则返回 true 
     
      

  4.   

    JTableHeader getTableHeader() 
              返回此 JTable 所使用的 tableHeader。 
     String getToolTipText(MouseEvent event) 
              重写 JComponent 的 getToolTipText 方法,从而允许使用渲染器的提示(如果设置了文本)。 
     TableUI getUI() 
              返回呈现此组件的 L&F 对象。 
     String getUIClassID() 
              返回用于构造呈现此组件时所用 L&F 类名称的后缀。 
     boolean getUpdateSelectionOnSort() 
              如果排序后应该更新选择,则返回 true。 
     Object getValueAt(int row, int column) 
              返回 row 和 column 位置的单元格值。 
    protected  void initializeLocalVars() 
              将表的属性初始化为其默认值。 
     boolean isCellEditable(int row, int column) 
              如果 row 和 column 位置的单元格是可编辑的,则返回 true。 
     boolean isCellSelected(int row, int column) 
              如果指定的索引位于行和列的有效范围内,并且位于该指定位置的单元格被选定,则返回 true。 
     boolean isColumnSelected(int column) 
              如果指定的索引位于列的有效范围内,并且位于该索引的列被选定,则返回 true。 
     boolean isEditing() 
              如果正在编辑单元格,则返回 true。 
     boolean isRowSelected(int row) 
              如果指定的索引位于行的有效范围内,并且位于该索引的行被选定,则返回 true。 
     void moveColumn(int column, int targetColumn) 
              将视图中的 column 列移动到当前被 targetColumn 列所占用的位置。 
    protected  String paramString() 
              返回此表的字符串表示形式。 
     Component prepareEditor(TableCellEditor editor, int row, int column) 
              通过查询 row、column 处单元格值的数据模型和单元格选择状态来准备编辑器。 
     Component prepareRenderer(TableCellRenderer renderer, int row, int column) 
              通过查询 row、column 处单元格值的数据模型和单元格选择状态来准备渲染器。 
     boolean print() 
              一个便捷的方法,它显示一个打印对话框,然后以 PrintMode.FIT_WIDTH 模式打印此 JTable,不打印标题或脚注文本。 
     boolean print(JTable.PrintMode printMode) 
              一个便捷的方法,它显示一个打印对话框,然后以给定的打印模式打印此 JTable,不打印标题或脚注文本。 
     boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) 
              一个便捷的方法,它显示一个打印对话框,然后以给定的打印模式打印此 JTable,打印指定的标题和脚注文本。 
     boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive) 
              根据完全功能 print 方法的指定打印此表,将默认打印机指定为打印服务。 
     boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service) 
              打印此 JTable。 
    protected  boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) 
              由于发生 KeyEvent e 而调用此方法处理 ks 的键绑定。 
     void removeColumn(TableColumn aColumn) 
              从此 JTable 的列数组中移除 aColumn。 
     void removeColumnSelectionInterval(int index0, int index1) 
              取消选中从 index0 到 index1 之间(包含两端)的列。 
     void removeEditor() 
              丢弃编辑器对象并释放它用于单元格呈现的资源。 
     void removeNotify() 
              调用 unconfigureEnclosingScrollPane 方法。 
     void removeRowSelectionInterval(int index0, int index1) 
              取消选中从 index0 到 index1 之间(包含两端)的行。 
    protected  void resizeAndRepaint() 
              等效于先调用 revalidate 再调用 repaint。 
     int rowAtPoint(Point point) 
              返回 point 所在的行索引;如果结果不在 [0, getRowCount()-1] 范围内,则返回 -1。 
     void selectAll() 
              选择表中的所有行、列和单元格。 
     void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel) 
              设置此表的 autoCreateColumnsFromModel 标志。 
     void setAutoCreateRowSorter(boolean autoCreateRowSorter) 
              指定其模型更改时是否应该为表创建一个 RowSorter。 
     void setAutoResizeMode(int mode) 
              当调整表的大小时,设置表的自动调整模式。 
     void setCellEditor(TableCellEditor anEditor) 
              设置活动单元格编辑器。 
     void setCellSelectionEnabled(boolean cellSelectionEnabled) 
              设置此表是否允许同时存在行选择和列选择。 
     void setColumnModel(TableColumnModel columnModel) 
              将此表的列模型设置为 newModel,并向其注册以获取来自新数据模型的侦听器通知。 
     void setColumnSelectionAllowed(boolean columnSelectionAllowed) 
              设置是否可以选择此模型中的列。 
     void setColumnSelectionInterval(int index0, int index1) 
              选择从 index0 到 index1 之间(包含两端)的列。 
     void setDefaultEditor(Class<?> columnClass, TableCellEditor editor) 
              如果尚未在 TableColumn 中设置编辑器,则设置要使用的默认单元格编辑器。 
     void setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer) 
              如果没有在 TableColumn 中设置渲染器,则设置要使用的默认单元格渲染器。 
     void setDragEnabled(boolean b) 
              打开或关闭自动拖动处理。 
     void setDropMode(DropMode dropMode) 
              设置此组件的放置模式。 
     void setEditingColumn(int aColumn) 
              设置 editingColumn 变量。 
     void setEditingRow(int aRow) 
              设置 editingRow 变量。 
     void setFillsViewportHeight(boolean fillsViewportHeight) 
              设置此表是否始终大到足以填充封闭视口的高度。 
     void setGridColor(Color gridColor) 
              将用来绘制网格线的颜色设置为 gridColor 并重新显示它。 
     void setIntercellSpacing(Dimension intercellSpacing) 
              将 rowMargin 和 columnMargin(单元格之间间距的高度和宽度)设置为 intercellSpacing。 
     void setModel(TableModel dataModel) 
              将此表的数据模型设置为 newModel,并向其注册以获取来自新数据模型的侦听器通知。 
     void setPreferredScrollableViewportSize(Dimension size) 
              设置此表视口的首选大小。 
     void setRowHeight(int rowHeight) 
              将所有单元格的高度设置为 rowHeight(以像素为单位),重新验证并重新绘制它。 
     void setRowHeight(int row, int rowHeight) 
              将 row 的高度设置为 rowHeight,重新验证并重新绘制它。 
     void setRowMargin(int rowMargin) 
              设置相临行中单元格之间的间距。 
     void setRowSelectionAllowed(boolean rowSelectionAllowed) 
              设置是否可以选择此模型中的行。 
     void setRowSelectionInterval(int index0, int index1) 
              选择从 index0 到 index1 之间(包含两端)的行。 
     void setRowSorter(RowSorter<? extends TableModel> sorter) 
              设置 RowSorter。 
     void setSelectionBackground(Color selectionBackground) 
              设置选定单元格的背景色。 
     void setSelectionForeground(Color selectionForeground) 
              设置选定单元格的前景色。 
     void setSelectionMode(int selectionMode) 
              将表的选择模式设置为只允许单个选择、单个连续间隔选择或多间隔选择。 
     void setSelectionModel(ListSelectionModel newModel) 
              将此表的行选择模型设置为 newModel,并向其注册以获取来自新数据模型的侦听器通知。 
     void setShowGrid(boolean showGrid) 
              设置表是否绘制单元格周围的网格线。 
     void setShowHorizontalLines(boolean showHorizontalLines) 
              设置表是否绘制单元格之间的水平线。 
     void setShowVerticalLines(boolean showVerticalLines) 
              设置表是否绘制单元格之间的垂直线。 
     void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke) 
              设置由于 JTable 为某个单元格转发键盘事件而导致编辑器被激活时,此 JTable 中的编辑器是否获得键盘焦点。 
     void setTableHeader(JTableHeader tableHeader) 
              将此 JTable 所使用的 tableHeader 设置为 newHeader。 
     void setUI(TableUI ui) 
              设置呈现此组件并进行重新绘制的 L&F 对象。 
     void setUpdateSelectionOnSort(boolean update) 
              指定排序后是否应该更新选择。 
     void setValueAt(Object aValue, int row, int column) 
              设置表模型中 row 和 column 位置的单元格值。 
     void sizeColumnsToFit(boolean lastColumnOnly) 
              已过时。 从 Swing version 1.0.3 开始,由 doLayout() 取代。 
     void sizeColumnsToFit(int resizingColumn) 
              从 Java 2 平台 v1.4 开始已过时。 
     void sorterChanged(RowSorterEvent e) 
              RowSorter 以某种方式发生了更改的 RowSorterListener 通知。 
     void tableChanged(TableModelEvent e) 
              当此表的 TableModel 生成 TableModelEvent 时调用。 
    protected  void unconfigureEnclosingScrollPane() 
              通过将封闭滚动窗格的 columnHeaderView 替换为 null,可以起到 configureEnclosingScrollPane 的相反作用。 
     void updateUI() 
              UIManager 发出的表明 L&F 已经更改的通知。 
     void valueChanged(ListSelectionEvent e) 
              行选择更改时调用,重新绘制来显示新的选择。 
      

  5.   

    找本SWING的书吧,或者查API.不过我觉得两者结合,效果好些.
      

  6.   

    要是什么都不了解的话,看API,再找一些例子,之后再看API