JTable中嵌入两个JButton

Cronaldo5352 2008-06-02 09:33:33
在JTable的某一列中嵌入两个JButton,该怎么加?大家帮帮忙
...全文
155 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwgs1985 2008-06-02
  • 打赏
  • 举报
回复
import java.awt.Component;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableModel;

public class TableTest {

TableModel dataModel = new AbstractTableModel() {
public int getColumnCount() {
return 1000;
}

public int getRowCount() {
return 1000;
}

public Object getValueAt(int row, int col) {
return new Integer(row * col);
}
};

private JTable table = new JTable(dataModel);

private JScrollPane scrollpane = new JScrollPane(table);

public TableTest() {
JFrame f = new JFrame();
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getColumn("A").setCellRenderer(new ButtonRenderer());
f.getContentPane().add(scrollpane);
f.setVisible(true);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private class ButtonRenderer extends JButton implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
this.setText((value == null) ? null : value.toString());
return this;
}
}

public static void main(String[] args) {
TableTest tt = new TableTest();
}
}

想嵌入什么,就在getTableCellRendererComponent方法里返回什么,getTableCellRendererComponent里还应该加些代码,不然表现不对,比如:Color,border什么的
palm_civet 2008-06-02
  • 打赏
  • 举报
回复
sun的官方网站有例子,学swing看那个不错


http://java.sun.com/docs/books/tutorial/uiswing/
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧