<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kooyee ‘s blog

    開源軟件, 眾人努力的結晶, 全人類的共同財富
    posts - 103, comments - 55, trackbacks - 0, articles - 66
       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    [Table] Swing Table 中使用 button

    Posted on 2008-03-02 00:16 kooyee 閱讀(1048) 評論(0)  編輯  收藏 所屬分類: Swing/Applet
    使用到自定義的CellRenderer和 CellEditor. 它們以作為inner class加入到table所在的class中

    定義一個cell的Jbutton渲染對象

    class ButtonRenderer extends JButton implements TableCellRenderer {

              
    public ButtonRenderer() {
                setOpaque(
    true);
              }


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

                setText((value 
    == null? "" : value.toString());
                
    return this;
              }

            }



    定義button cell editor

    class ButtonEditor extends DefaultCellEditor {
              
    protected JButton button;

              
    private String label;

              
    private boolean isPushed;
              
              
    private String selectId;

              
    public ButtonEditor(JCheckBox checkBox) {
                
    super(checkBox);
                button 
    = new JButton();
                button.setOpaque(
    true);
                button.addActionListener(
    new ActionListener() {
                  
    public void actionPerformed(ActionEvent e) {
                    fireEditingStopped();
                  }

                }
    );
              }


              
    public Component getTableCellEditorComponent(JTable table, Object value,
                  
    boolean isSelected, int row, int column) {
                
    if (isSelected) {
                  button.setForeground(table.getSelectionForeground());
                  button.setBackground(table.getSelectionBackground());
                }
     else {
                  button.setForeground(table.getForeground());
                  button.setBackground(table.getBackground());
                }

               
                label 
    = (value == null? "" : value.toString(); 
                button.setText(label);
    //get the value of the first cell in this selected row
                selectId = table.getValueAt(row, 0).toString();
                isPushed 
    = true;
                
    return button;
              }


             //這里是點擊button執行的操作 
                    public Object getCellEditorValue() {
                
    if (isPushed) {
                  
                                    JOptionPane.showMessageDialog(
    null"The first of this row is"+selectId, "", JOptionPane.ERROR_MESSAGE);
                }

                isPushed 
    = false;
                
    return new String(label);
              }


              
    public boolean stopCellEditing() {
                isPushed 
    = false;
                
    return super.stopCellEditing();
              }


              
    protected void fireEditingStopped() {
                
    super.fireEditingStopped();
              }

            }


    最后在table中加入他們, 假設添加到table中名為"button"的列
    table.getColumn("Button").setCellRenderer(new ButtonRenderer());
                
        table.getColumn(
    "Button").setCellEditor( new ButtonEditor(new JCheckBox()));
    主站蜘蛛池模板: 亚洲首页国产精品丝袜| 亚洲午夜福利精品久久 | 精品久久久久久无码免费| 最近2018中文字幕免费视频| 亚洲国模精品一区| 一本色道久久88—综合亚洲精品 | 亚洲夂夂婷婷色拍WW47| 婷婷亚洲天堂影院| 亚洲av无一区二区三区| 亚洲成人免费网址| 久久久亚洲欧洲日产国码aⅴ| 成人a毛片免费视频观看| 永久黄网站色视频免费观看| 亚洲精品福利网泷泽萝拉| 免费观看成人久久网免费观看| 亚洲精品无码99在线观看| 1000部拍拍拍18勿入免费凤凰福利| 西西人体44rt高清亚洲| 国产在线观看免费视频软件| 亚洲愉拍99热成人精品热久久| 色多多www视频在线观看免费| 在线观看亚洲人成网站| 和日本免费不卡在线v| 亚洲男人电影天堂| 自拍偷自拍亚洲精品第1页 | 中文无码日韩欧免费视频| 国产亚洲av片在线观看播放| 久久aⅴ免费观看| 亚洲国产精品线在线观看| 国产人成免费视频网站| 亚洲AV无码精品蜜桃| 国产成人青青热久免费精品| 粉色视频成年免费人15次| 国产成人精品免费直播| 久久国产精品一区免费下载| 亚洲啪啪免费视频| 免费一级毛片在级播放| 91视频免费网站| 亚洲图片激情小说| 日韩免费视频播播| 一级毛片免费全部播放|