最新JTABLE add button 響應事件

class ButtonColumn extends AbstractCellEditor implements TableCellRenderer, TableCellEditor,ActionListener {
JButton renderButton;
JButton editButton;
String text;
AplTrading bcAplTrading;
String bcAcctType;
String bcInstrument;
BigDecimal bcOrderQty;
private int row;
private JTable table;

ButtonColumn() {

renderButton = new JButton();
editButton = new JButton();
editButton.setFocusPainted(false);
editButton.setFocusable(false);
editButton.addActionListener(this);
}

ButtonColumn(AplTrading aplTrading) {
renderButton = new JButton();
editButton = new JButton();
editButton.setFocusPainted(false);
editButton.setFocusable(false);
editButton.addActionListener(this);
bcAplTrading = aplTrading;
}

    @Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
if (hasFocus) {

} else if (isSelected) {

} else {

}

renderButton.setText(   (value   ==null)   ?   "SELL"   :   value.toString()   );
renderButton.setToolTipText( "SELL");
return renderButton;
}

    @Override
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
text = (value == null) ? "SELL" : value.toString();
//editButton.setText(text);
this.row = row;
this.table = table;


return editButton;
}

    @Override
public Object getCellEditorValue() {
return null;
}


    @Override
 public void actionPerformed(ActionEvent arg0) {
     this.fireEditingStopped();//立即终止此单元格的编辑状态,使表格模型可以自动更新
     //dtm.removeRow(this.row);
        bcAcctType = (String) table.getModel().getValueAt(row, 10);
        bcInstrument = (String) table.getModel().getValueAt(row, 1);
        bcOrderQty = (BigDecimal) table.getModel().getValueAt(row, 5);

       AplApplicationBase aplApplicationBase = new AplApplicationBase();
       PnlPlaceOrder pnlPlaceOrder = new PnlPlaceOrder(aplApplicationBase);
                    pnlPlaceOrder.setBorder(BorderFactory.createTitledBorder(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.border.title")));
                    pnlPlaceOrder.getLblPlaceOrderAccountNo().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderAccountNo.text"));
                    pnlPlaceOrder.getLblPlaceOrderAcctType().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderAcctType.text"));
                    pnlPlaceOrder.getLblPlaceOrderOrderType().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderOrderType.text"));
                    pnlPlaceOrder.getLblPlaceOrderOrderValidity().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderOrderValidity.text"));

                    pnlPlaceOrder.getLblPlaceOrderInstrument().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderInstrument.text"));
                    pnlPlaceOrder.getLblPlaceOrderQty().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderQty.text"));
                    pnlPlaceOrder.getLblPlaceOrderPrice().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderPrice.text"));
                    pnlPlaceOrder.getLblPlaceOrderTradingPIN().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderTradingPIN.text"));
                    pnlPlaceOrder.getLblPlaceOrderSaveTP().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderSaveTP.text"));
                    pnlPlaceOrder.getLblPlaceOrderLangDisplay().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderLangDisplay.text"));

                    pnlPlaceOrder.getBtnPlaceOrderClear().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.btnPlaceOrderClear.text"));
                    pnlPlaceOrder.getBtnPlaceOrderCancel().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.btnPlaceOrderCancel.text"));
                    pnlPlaceOrder.getLblPlaceOrderResponseOrderNo().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.lblPlaceOrderResponseOrderNo.text"));
                    pnlPlaceOrder.getFmtPlaceOrderAccountNo().setValue(new BigDecimal(bcAplTrading.getAccountLoggedOn()));
//                    String acctType = (String) table.getModel().getValueAt(table.getSelectedRow(), ColumnNo.AccountType);
                    if (bcAcctType.equals("1")) {
                        pnlPlaceOrder.getCmbxPlaceOrderAcctType().setSelectedIndex(0);
                    } else if (bcAcctType.equals("2")) {
                        pnlPlaceOrder.getCmbxPlaceOrderAcctType().setSelectedIndex(1);
                    } else if (bcAcctType.equals("3")) {
                        pnlPlaceOrder.getCmbxPlaceOrderAcctType().setSelectedIndex(2);
                    }
                    pnlPlaceOrder.getCmbxPlaceOrderAcctType().setEnabled(false);
                    pnlPlaceOrder.getCmbxPlaceOrderAcctType().setFocusable(false);

                    pnlPlaceOrder.getBtnPlaceOrderBuy().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.btnPlaceOrderBuy.text"));
                    pnlPlaceOrder.getBtnPlaceOrderSell().setText(aplApplicationBase.getMessageSource().getValue("PnlPlaceOrder.btnPlaceOrderSell.text"));


                    pnlPlaceOrder.getFmtPlaceOrderInstrument().setValue(new BigDecimal(bcInstrument));
                    pnlPlaceOrder.getFmtPlaceOrderInstrument().setEditable(false);
                    pnlPlaceOrder.getFmtPlaceOrderInstrument().setFocusable(false);
                    pnlPlaceOrder.getFmtPlaceOrderQty().setValue(bcOrderQty);
                    if (bcAplTrading.isTradingPINSaved()) {
                        pnlPlaceOrder.getTxtPlaceOrderTradingPIN().setEnabled(false);
                        pnlPlaceOrder.getCmbxPlaceOrderSaveTP().setEnabled(false);
                        pnlPlaceOrder.getCmbxPlaceOrderSaveTP().setSelectedIndex(0);
                    } else {
                        pnlPlaceOrder.getTxtPlaceOrderTradingPIN().setEnabled(true);
                        pnlPlaceOrder.getCmbxPlaceOrderSaveTP().setEnabled(true);
                        pnlPlaceOrder.getCmbxPlaceOrderSaveTP().setSelectedIndex(1);
                    }
                    pnlPlaceOrder.getFmtPlaceOrderLangDisplay().setValue(aplApplicationBase.getLangDisplay());
                    pnlPlaceOrder.getBtnPlaceOrderClear().setVisible(false);
                    UiGeneralHelper.showDialog(AplApplicationBase.getApplicationIconUrl(), AplApplicationBase.getApplicationTitle(aplApplicationBase), 300, 340, pnlPlaceOrder);
    }

posted on 2011-08-10 16:40  hinslam  阅读(606)  评论(0编辑  收藏  举报

导航