<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()));
    主站蜘蛛池模板: 亚洲视频在线播放| 亚洲色精品88色婷婷七月丁香| 亚洲视频在线观看一区| 三年在线观看免费观看完整版中文| 日韩精品电影一区亚洲| 高潮内射免费看片| 免费成人av电影| 久久精品国产亚洲av瑜伽| 日韩精品视频免费在线观看| 亚洲乱码av中文一区二区| 嫩草影院免费观看| 亚洲a∨国产av综合av下载 | 亚洲av永久无码精品秋霞电影秋 | 国产无遮挡裸体免费视频在线观看| 久久亚洲AV无码西西人体| 久久久受www免费人成| 国产亚洲精品国产| 最近2019中文字幕免费大全5| 亚洲乱码日产精品BD在线观看| 全免费a级毛片免费看无码| 精品亚洲视频在线| 国产亚洲成人久久| 91精品手机国产免费| 亚洲成av人片在线看片| 午夜一区二区免费视频| 香蕉国产在线观看免费| 亚洲精品制服丝袜四区| 免费视频爱爱太爽了| 亚洲av乱码中文一区二区三区| 中文字幕亚洲无线码| 午夜网站在线观看免费完整高清观看| 亚洲欧洲自拍拍偷综合| 国产精品无码一二区免费| 国产又黄又爽又大的免费视频| 亚洲视频免费一区| 国产又大又黑又粗免费视频| eeuss影院免费92242部| 亚洲影视一区二区| 亚洲精品线路一在线观看| 精品熟女少妇a∨免费久久| 亚洲成a人片在线观看天堂无码|