Jtable删除多行

 

 

        int[] selections = table.getSelectedRows();
        //和tableModel统一序号
        for (int i = 0; i < selections.length; i++) {
            selections[i] = table.convertRowIndexToModel(selections[i]);
        }
        /**
         * 删除数据库的
         */
        for (int i : selections) {
            Vector line = new Vector();
            //获取选择行的数据
            line = (Vector) table_data.get(i);
            //删除
            testService.delete(new Object(line.get(0)));
        }
        /**
         * 删除界面上的
         */
        //获取model
        DefaultTableModel df = (DefaultTableModel) table.getModel();
        //反向删除
        for (int i = selections.length; i > 0; i--) {
            df.removeRow(table.getSelectedRow());
        }
 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现JTable的多表头,可以使用JTableHeader的setPreferredSize()方法来设置表头的高度,并使用TableColumnModel的getColumn()方法来获取表头中每列的组件。 以下是一个示例代码: ``` import javax.swing.*; import javax.swing.table.*; import java.awt.*; public class MultiRowHeaderTable extends JFrame { public MultiRowHeaderTable() { super("Multi-Row Headers in JTable"); DefaultTableModel model = new DefaultTableModel(5, 5); JTable table = new JTable(model); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // Create a multi-row header JTableHeader header = table.getTableHeader(); header.setPreferredSize(new Dimension(100, 50)); JPanel panel = new JPanel(new BorderLayout()); panel.add(header, BorderLayout.NORTH); panel.add(table, BorderLayout.CENTER); // Set the cell renderer for each column of the header TableColumnModel columnModel = table.getColumnModel(); for (int i = 0; i < columnModel.getColumnCount(); i++) { TableColumn column = columnModel.getColumn(i); column.setHeaderRenderer(new MultiRowHeaderRenderer()); } getContentPane().add(panel); pack(); setVisible(true); } public static void main(String[] args) { new MultiRowHeaderTable(); } } class MultiRowHeaderRenderer extends JLabel implements TableCellRenderer { public MultiRowHeaderRenderer() { setOpaque(true); setHorizontalAlignment(CENTER); setVerticalAlignment(TOP); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { setText(value.toString()); return this; } } ``` 在这个示例中,我们创建了一个多表头,其中每列的组件都是JLabel。我们使用TableColumnModel的getColumn()方法来获取每列的组件,并将其设置为一个MultiRowHeaderRenderer对象。MultiRowHeaderRenderer类实现了TableCellRenderer接口,用于呈现表头中每个单元格的值。 希望这能帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值