• 大小: 1.35MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-10
  • 语言: Java
  • 标签: java  swing  

资源简介

从网上一个博文上搜集来的一些Swing特效的例子,如xp折叠效果_foldered_pane,鼠标悬停提示_tooltip,玻璃效果闪烁_glassbox,日历组件,环形右键弹出菜单等等.....绝对物超所值! 其中部分例子为jar形式,可直接运行...其余大部分是netbeans工程形式,在dist文件夹下也有jar文件,也可直接运行....需要了解源码的,请自行反编译....

资源截图

代码片段和文件信息


import java.util.Enumeration;

import javax.swing.JTable;
import javax.swing.event.TableModelEvent;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;

/**
 * 支持排序的TableModel
 * 
 * @author sundw
 * 
 */
public abstract class AbstractSortedTableModel extends AbstractTableModel
{
 /**
  * 当前使用该Model的table
  */
 private SortedTable table;

 /**
  * 当前需排序的column
  */
 private int currentSortedColumn = -1;

 /**
  * 当前的排序方向
  */
 private boolean asc = true;

 /**
  * 是否按照内容自动调整列宽
  */
 private boolean autoResizeColumnWidths = false;

 /**
  * 得到当前model所属的table
  * 
  * @return
  */
 public SortedTable getTable()
 {
  return table;
 }

 /**
  * 设置当前model所属的table
  * 
  * @param table
  */
 void setTable(SortedTable table)
 {
  this.table = table;
 }

 /**
  * 被fireModelSetted调用,初始化当前分页状态
  */
 protected void modelSetted()
 {
  currentSortedColumn = -1;
  asc = true;
  if (table != null)
   autoResizeColumnWidths = table.isAutoResizeColumnWidths();
 }

 /**
  * 触发modelsetted方法,一般在该model被set到table中时,调用modelSetted
  */
 public void fireModelSetted()
 {
  modelSetted();
 }

 /**
  * 排序
  * 
  * @param column
  *            需排序的column
  */
 public void sort(int column)
 {
  if (isSortedColumn(column))
  {
   if (this.currentSortedColumn == column)
   {
    asc = !asc;
   }
   else
   {
    this.currentSortedColumn = column;
    asc = true;
   }
   updateData();
  }
 }

 /**
  * 更新数据
  */
 protected void updateData()
 {
  fireTableDataChanged();
 }

 /**
  * 得到当前排序的column
  * 
  * @return
  */
 public int getCurrentSortedColumn()
 {
  return currentSortedColumn;
 }

 /**
  * 返回当前排序状态是否是升序
  * 
  * @return
  */
 public boolean isAsc()
 {
  return asc;
 }

 /**
  * 返回当前table是否是自动调整列宽的状态
  * 
  * @return
  */
 protected boolean isAutoResizeColumnWidths()
 {
  return autoResizeColumnWidths;
 }

 /**
  * 返回当前table是否自动调整列宽
  * 
  * @param autoResizeColumnWidths
  */
 protected void setAutoResizeColumnWidths(boolean autoResizeColumnWidths)
 {
  this.autoResizeColumnWidths = autoResizeColumnWidths;
 }

 /**
  * 返回该column是否是需要排序的column
  * 
  * @param column
  * @return
  */
 public abstract boolean isSortedColumn(int column);

 /**
  * 覆盖父类的方法,在更新表格数据后,自动调整列宽
  */
 public void fireTableChanged(TableModelEvent e)
 {
  super.fireTableChanged(e);
  if (autoResizeColumnWidths)
   autoResizeColumnWidths();
 }

 /**
  * 根据当前表格的数据,自动调整列宽
  * 
  */
 private void autoResizeColumnWidths()
 {
  JTable table = this.getTable();
  JTableHeader header = table.getTableHeader();
  int rowCount = table.getRowCount();

  Enumeration columns = table.getColumnModel().getColumns();
  while (columns.hasMoreElements())
  {
   TableColumn column = (TableColumn) columns.nextElement();
   int col = header.getColumnModel().getColumnIndex(
     c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3089  2010-03-24 21:22  Swing特效\JTable分页\分页\AbstractSortedTableModel.class

     文件       3875  2010-03-24 20:59  Swing特效\JTable分页\分页\AbstractSortedTableModel.java

     文件        353  2010-03-24 21:22  Swing特效\JTable分页\分页\CommonSortedTableDataUpdater.class

     文件        561  2010-03-24 21:05  Swing特效\JTable分页\分页\CommonSortedTableDataUpdater.java

     文件       1394  2010-03-24 21:22  Swing特效\JTable分页\分页\CommonSortedTableModel.class

     文件       1860  2010-03-24 21:05  Swing特效\JTable分页\分页\CommonSortedTableModel.java

     文件        604  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultNavigator$1.class

     文件        604  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultNavigator$2.class

     文件        604  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultNavigator$3.class

     文件        604  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultNavigator$4.class

     文件        604  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultNavigator$5.class

     文件       1159  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultNavigator$6.class

     文件       9206  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultNavigator.class

     文件      12655  2010-03-24 21:04  Swing特效\JTable分页\分页\DefaultNavigator.java

     文件       1325  2010-03-24 21:22  Swing特效\JTable分页\分页\DefaultSortedHeaderCellRenderer.class

     文件       2918  2010-03-24 21:01  Swing特效\JTable分页\分页\DefaultSortedHeaderCellRenderer.java

     文件       1183  2010-03-26 12:53  Swing特效\JTable分页\分页\ExamplePanel$MySortedTableDataUpdater.class

     文件       1042  2010-03-26 12:53  Swing特效\JTable分页\分页\ExamplePanel$MySortedTableModel.class

     文件       1481  2010-03-26 12:53  Swing特效\JTable分页\分页\ExamplePanel.class

     文件       2385  2010-03-24 21:23  Swing特效\JTable分页\分页\ExamplePanel.java

     文件        158  2010-03-24 21:22  Swing特效\JTable分页\分页\Navigatable.class

     文件        330  2010-03-24 21:02  Swing特效\JTable分页\分页\Navigatable.java

     文件        535  2010-03-24 21:22  Swing特效\JTable分页\分页\SortedTable$1.class

     文件       2078  2010-03-24 21:22  Swing特效\JTable分页\分页\SortedTable.class

     文件       3175  2010-03-24 21:06  Swing特效\JTable分页\分页\SortedTable.java

     文件        842  2010-03-24 21:22  Swing特效\JTable分页\分页\TextFieldJumpTo$JumpToDocument.class

     文件        496  2010-03-24 21:22  Swing特效\JTable分页\分页\TextFieldJumpTo.class

     文件        996  2010-03-24 21:22  Swing特效\JTable分页\分页\UpAndDownArrow.class

     文件       2296  2007-06-10 17:14  Swing特效\xp折叠效果_foldered_pane\foldered_pane\build\classes\dyno\swing\beans\CaptionButton.class

     文件       6971  2007-06-10 17:14  Swing特效\xp折叠效果_foldered_pane\foldered_pane\build\classes\dyno\swing\beans\CaptionButtonUI.class

............此处省略667个文件信息

评论

共有 条评论