JTable add button event.

//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);

posted on 2011-08-09 10:31  hinslam  阅读(358)  评论(0编辑  收藏  举报

导航