jtable 单元格 添加 提示

jTable.addMouseMotionListener(new MouseMotionListener() {

                public void mouseMoved(MouseEvent e) {

                    Point point = e.getPoint();

                    int x = jTable.rowAtPoint(point);

                    int y = jTable.columnAtPoint(point);

                    if (x != row || y != column) {

                        row = x;

                        column = y;

                    }

                    Object object = jTable.getValueAt(row, column);

                    if (object != null) {

                        jTable.setToolTipText("这里写上你的提示吧");

                    }

                }

            });

JTable是Java Swing库中的一个组件,用于显示表格数据。要在JTable单元格添加两个按钮,你需要按照以下步骤操作: 1. **创建Swing GUI**: 首先,你需要创建一个`DefaultTableModel`来管理表格的数据,并创建`JTable`实例。 ```java DefaultTableModel model = new DefaultTableModel(); JTable table = new JTable(model); ``` 2. **定制列模型**: 创建一个自定义的`ColumnClass`,这个类通常会包含一个`TableCellRenderer`和一个`TableCellEditor`。这两个类分别处理单元格的渲染和编辑。 ```java class CustomCellEditor extends AbstractCellEditor { // 编辑器逻辑... } class CustomCellRenderer extends JLabel implements TableCellRenderer { // 渲染逻辑... } ``` 3. **设置列样式**: 将自定义的`ColumnClass`应用到包含按钮的列上。 ```java table.getColumnModel().getColumn(<buttonColumnIndex>).setCellEditor(new CustomCellEditor()); table.getColumnModel().getColumn(<buttonColumnIndex>).setCellRenderer(new CustomCellRenderer()); ``` 4. **创建按钮**: 使用Swing的`JButton`实例创建按钮,并设置图标、标签等属性。 5. **添加按钮到单元格**: 在`TableCellEditor`或`TableCellRenderer`的方法中,例如`getTableCellRendererComponent()`,你可以添加按钮并处理点击事件。 ```java @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JButton button1 = new JButton("Button 1"); JButton button2 = new JButton("Button 2"); // 添加事件监听器或其他定制 button1.addActionListener(e -> {/* do something */}); button2.addActionListener(e -> {/* do something */}); // 返回组合后的组件 JPanel buttonsPanel = new JPanel(); buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.LINE_AXIS)); buttonsPanel.add(button1); buttonsPanel.add(button2); return buttonsPanel; } ``` 6. **显示JTable**: 最后,在你的GUI窗口中添加`JTable`。 记得替换`<buttonColumnIndex>`为你想要放置按钮的列索引。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值