📄 multispancelltableexample.java
字号:
/* * (swing1.1beta3) jfc#96 */ import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;import javax.swing.border.*;import jp.gr.java_conf.tame.swing.table.*;/** * @version 1.0 11/26/98 */public class MultiSpanCellTableExample extends JFrame { MultiSpanCellTableExample() { super( "Multi-Span Cell Example" ); AttributiveCellTableModel ml = new AttributiveCellTableModel(10,6); /* AttributiveCellTableModel ml = new AttributiveCellTableModel(10,6) { public Object getValueAt(int row, int col) { return "" + row + ","+ col; } }; */ final CellSpan cellAtt =(CellSpan)ml.getCellAttribute(); final MultiSpanCellTable table = new MultiSpanCellTable( ml ); JScrollPane scroll = new JScrollPane( table ); JButton b_one = new JButton("Combine"); b_one.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int[] columns = table.getSelectedColumns(); int[] rows = table.getSelectedRows(); cellAtt.combine(rows,columns); table.clearSelection(); table.revalidate(); table.repaint(); } }); JButton b_split = new JButton("Split"); b_split.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int column = table.getSelectedColumn(); int row = table.getSelectedRow(); cellAtt.split(row,column); table.clearSelection(); table.revalidate(); table.repaint(); } }); JPanel p_buttons = new JPanel(); p_buttons.setLayout(new GridLayout(2,1)); p_buttons.add(b_one); p_buttons.add(b_split); Box box = new Box(BoxLayout.X_AXIS); box.add(scroll); box.add(new JSeparator(SwingConstants.HORIZONTAL)); box.add(p_buttons); getContentPane().add( box ); setSize( 400, 200 ); setVisible(true); } public static void main(String[] args) { MultiSpanCellTableExample frame = new MultiSpanCellTableExample(); frame.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { System.exit(0); } }); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -