博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JTable add button event.
阅读量:4538 次
发布时间:2019-06-08

本文共 1949 字,大约阅读时间需要 6 分钟。

//simple implement button action:

class TradeButton extends JButton implements TableCellRenderer {

         public   TradeButton()   {
           super();
           setOpaque(false);
         
        }

    @Override
         public   Component   getTableCellRendererComponent(JTable table, Object value,
              boolean   isSelected,
              boolean   hasFocus,
              int   row,
              int   column)   {
              if   (isSelected)   {
//                setForeground(table.getSelectionForeground());
//    setBackground(table.getSelectionBackground());
                System.out.println(row);
              }   else{
             System.out.println("nothing");
              }
                  setText(   (value   ==null)   ?   "SELL"   :   value.toString()   );
                  this.setToolTipText( "what what what??");
                  return   this;
              }

}

//good button action implement

class ButtonColumn extends AbstractCellEditor implements TableCellRenderer, TableCellEditor {

JButton renderButton;
JButton editButton;
String text;
ButtonColumn() {
renderButton = new JButton();
editButton = new JButton();
editButton.setFocusPainted(false);
}

public Component getTableCellRendererComponent(JTable table,

Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
if (hasFocus) {
renderButton.setForeground(table.getForeground());
renderButton.setBackground(UIManager
.getColor("Button.background"));
} else if (isSelected) {
renderButton.setForeground(table.getSelectionForeground());
renderButton.setBackground(table.getSelectionBackground());
} else {
renderButton.setForeground(table.getForeground());
renderButton.setBackground(UIManager
.getColor("Button.background"));
}

renderButton.setText((value == null) ? "" : value.toString());

return renderButton;
}

public Component getTableCellEditorComponent(JTable table,

Object value, boolean isSelected, int row, int column) {
text = (value == null) ? "" : value.toString();
editButton.setText(text);
return editButton;
}

public Object getCellEditorValue() {

return text;
}
}

table.getColumn("321").setCellEditor(btnCol);

table.getColumn("321").setCellRenderer(btnCol);

转载于:https://www.cnblogs.com/hinslam/archive/2011/08/09/2131846.html

你可能感兴趣的文章
<strong>和 <b> 的区别
查看>>
HTML5 20180919
查看>>
后端程序员之路 12、K最近邻(k-Nearest Neighbour,KNN)分类算法
查看>>
缓存技术
查看>>
linux64需要增加的依赖库
查看>>
手机网站页面模板
查看>>
Huffman树与编码的简单实现
查看>>
__delattr__\__delitem__
查看>>
htmlunit简单百度搜索,网页解析
查看>>
Cocos2dx Android在编译的时候格式出错例如(snprintf)
查看>>
spring不同环境下用不同的配置文件
查看>>
数组_leetcode80
查看>>
SQL Error (1130): Host '192.168.1.100' is not allowed to connect to this MySQL server
查看>>
普通线程类获取service,controller等spring容器类
查看>>
Redis高级实践之————Redis短连接性能优化
查看>>
ThreadLocal使用
查看>>
POJ - 2155 Matrix(二维树状数组)
查看>>
基于Cat的分布式调用追踪
查看>>
建筑物联动
查看>>
汇编语言 手记5
查看>>