⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixedrowexample.java

📁 tame,扩展了好多SWing组件:JTable
💻 JAVA
字号:
/* (swing1.1.1beta1) */package tame.examples;import java.awt.BorderLayout;import java.awt.Component;import java.awt.Dimension;import java.awt.Graphics;import java.awt.event.AdjustmentEvent;import java.awt.event.AdjustmentListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JScrollBar;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.ListSelectionModel;import javax.swing.table.AbstractTableModel;/**@author Nobuo Tamemasa@version 1.0 03/05/99*/public class FixedRowExample extends JFrame {  Object[][] data;  Object[] column;  JTable fixedTable,table;  private int FIXED_NUM = 2;  public FixedRowExample() {    super( "Fixed Row Example" );    data =  new Object[][]{        {      "a","","","","",""},        {      "","b","","","",""},        {      "","","c","","",""},        {      "","","","d","",""},        {      "","","","","e",""},        {      "","","","","","f"},        {"fixed1","","","","","","",""},        {"fixed2","","","","","","",""}};    column = new Object[]{"A","B","C","D","E","F"};    AbstractTableModel    model = new AbstractTableModel() {      public int getColumnCount() { return column.length; }      public int getRowCount() { return data.length - FIXED_NUM; }      public String getColumnName(int col) {       return (String)column[col];      }      public Object getValueAt(int row, int col) {        return data[row][col];      }      public void setValueAt(Object obj, int row, int col) {        data[row][col] = obj;      }      public boolean CellEditable(int row, int col) {        return true;      }    };    AbstractTableModel fixedModel = new AbstractTableModel() {      public int getColumnCount() { return column.length; }      public int getRowCount() { return FIXED_NUM; }      public Object getValueAt(int row, int col) {        return data[row + (data.length - FIXED_NUM)][col];      }    };    table = new JTable( model );    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    fixedTable = new JTable( fixedModel );    fixedTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);    fixedTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    JScrollPane scroll      = new JScrollPane( table );    scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);    JScrollPane fixedScroll = new JScrollPane( fixedTable ) {      public void setColumnHeaderView(Component view) {} // work around    };                                                   //                                             // fixedScroll.setColumnHeader(null);    fixedScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    JScrollBar bar = fixedScroll.getVerticalScrollBar();    JScrollBar dummyBar = new JScrollBar() {      public void paint(Graphics g) {}    };    dummyBar.setPreferredSize(bar.getPreferredSize());    fixedScroll.setVerticalScrollBar(dummyBar);    final JScrollBar bar1 = scroll.getHorizontalScrollBar();    JScrollBar bar2 = fixedScroll.getHorizontalScrollBar();    bar2.addAdjustmentListener(new AdjustmentListener() {      public void adjustmentValueChanged(AdjustmentEvent e) {        bar1.setValue(e.getValue());      }    });    scroll.setPreferredSize(new Dimension(400, 100));    fixedScroll.setPreferredSize(new Dimension(400, 52));  // Hmm...    getContentPane().add(     scroll, BorderLayout.CENTER);    getContentPane().add(fixedScroll, BorderLayout.SOUTH);  }  public static void main(String[] args) {    FixedRowExample frame = new FixedRowExample();    frame.addWindowListener( new WindowAdapter() {      public void windowClosing( WindowEvent e ) {	System.exit(0);      }    });    frame.pack();    frame.setVisible(true);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -