<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 閱讀(1055) 評論(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()));
    主站蜘蛛池模板: 亚洲av午夜成人片精品电影 | 亚洲国产精品一区| 亚洲视频在线一区| 亚洲欧美aⅴ在线资源| 日韩在线观看视频免费| 日本不卡免费新一区二区三区 | 国产一区二区免费在线| 国产亚洲无线码一区二区| 亚洲国产av美女网站| 日本永久免费a∨在线视频| 在线观看免费av网站| 在线看片无码永久免费aⅴ| 亚洲毛片在线观看| 黄色一级视频免费观看| 野花高清在线观看免费完整版中文| 全部免费国产潢色一级| 亚洲综合网美国十次| 黄床大片30分钟免费看| 啦啦啦中文在线观看电视剧免费版| 免费一级毛片在级播放| 亚洲色偷偷偷网站色偷一区| 成人免费网站视频www| 成人毛片免费视频| 亚洲一区免费在线观看| 午夜视频免费在线观看| 亚洲免费无码在线| 一级一看免费完整版毛片| 色www永久免费视频| 国产亚洲精品VA片在线播放| **aaaaa毛片免费| 久久久久亚洲AV片无码下载蜜桃| a级毛片黄免费a级毛片| 久久精品夜色噜噜亚洲A∨| 国产免费MV大全视频网站 | 成人性生活免费视频| 2020年亚洲天天爽天天噜| 99久9在线|免费| 亚洲精品第一国产综合野| 性色av无码免费一区二区三区| 亚洲中文字幕久久久一区| 老司机永久免费网站在线观看|