随笔 - 154  文章 - 60  trackbacks - 0
<2007年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

声明:

该blog是为了收集资料,认识朋友,学习、提高技术,所以本blog的内容除非声明,否则一律为转载!!

感谢那些公开自己技术成果的高人们!!!

支持开源,尊重他人的劳动!!

常用链接

留言簿(3)

随笔分类(148)

随笔档案(143)

收藏夹(2)

其他

学习(技术)

观察思考(非技术)

搜索

  •  

最新评论

阅读排行榜

评论排行榜

package com.ideal.ieai.adaptors.taskadaptor.usertask.view.timeout;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;

public class TimeoutPanel extends JPanel
{

    
private JScrollPane       _scrlRules     = null;
    
private JTable            _tblRules      = null;
    
private JPanel            _panelCtrl     = null;
    
private JButton           _btnAdd        = null;
    
private JButton           _btnEdit       = null;
    
private JButton           _btnDel        = null;
    
private DefaultTableModel _tblModelRules = null;
    
private JTextPane         _sumaryTxtPane = null;

    
/**
     * This is the default constructor
     
*/

    
public TimeoutPanel()
    
{
        
super();
        initialize();
    }


    
/**
     * This method initializes this
     * 
     * 
@return void
     
*/

    
private void initialize ()
    
{
        setLayout(
new BorderLayout());
        add(getScrlRules(), BorderLayout.CENTER);
        add(getPanelCtrl(), BorderLayout.SOUTH);
        
this.setSize(500400);
    }


    
private Component getPanelCtrl ()
    
{
        
if (null == _panelCtrl)
        
{
            _panelCtrl 
= new JPanel();
            _panelCtrl.setLayout(
new FlowLayout(FlowLayout.RIGHT, 44));
            _panelCtrl.add(getBtnAdd());
            _panelCtrl.add(getBtnEdit());
            _panelCtrl.add(getBtnDel());
        }

        
return _panelCtrl;
    }


    
private Component getBtnDel ()
    
{
        
if (null == _btnDel)
        
{
            _btnDel 
= new JButton("delete");
        }

        
return _btnDel;
    }


    
private Component getBtnEdit ()
    
{
        
if (null == _btnEdit)
        
{
            _btnEdit 
= new JButton("edit");
        }

        
return _btnEdit;
    }


    
private Component getBtnAdd ()
    
{
        
if (null == _btnAdd)
        
{
            _btnAdd 
= new JButton("add");
        }

        
return _btnAdd;
    }


    
private Component getScrlRules ()
    
{
        
if (null == _scrlRules)
        
{
            _scrlRules 
= new JScrollPane();
            _scrlRules.getViewport().add(getTblRules());
        }

        
return _scrlRules;
    }


    
private Component getTblRules ()
    
{
        
if (null == _tblRules)
        
{
            _tblRules 
= new JTable();
            _tblRules.setModel(getTblModelRules());

            _tblRules.getColumnModel().getColumn(
5).setCellRenderer(new DefaultTableCellRenderer()
            
{
                
public Component getTableCellRendererComponent ( JTable table, Object value,
                        
boolean isSelected, boolean hasFocus, int row, int column )
                
{
                    getSumaryTxtPane().setText((String) value);
                    TableColumnModel columnModel 
= table.getColumnModel();
                    getSumaryTxtPane().setSize(columnModel.getColumn(column).getWidth(), 
100000);
                    
int heightWanted = (int) getSumaryTxtPane().getPreferredSize().getHeight();
                    
if (heightWanted != table.getRowHeight(row))
                    
{
                        table.setRowHeight(row, heightWanted);
                    }

                    
return getSumaryTxtPane();
                }

            }
);
        }

        
return _tblRules;
    }


    
private JTextPane getSumaryTxtPane ()
    
{
        
if (null == _sumaryTxtPane)
        
{
            _sumaryTxtPane 
= new JTextPane();
        }

        
return _sumaryTxtPane;
    }


    
private TableModel getTblModelRules ()
    
{
        
if (null == _tblModelRules)
        
{
            _tblModelRules 
= new DefaultTableModel()
            
{
                
public boolean isCellEditable ( int row, int colum )
                
{
                    
return false;
                }

            }
;
            _tblModelRules.addColumn(
"Rule Name");
            _tblModelRules.addColumn(
"Type");
            _tblModelRules.addColumn(
"Timeout");
            _tblModelRules.addColumn(
"Task Status");
            _tblModelRules.addColumn(
"Alert Type");
            _tblModelRules.addColumn(
"Sumary");
            _tblModelRules
                    .addRow(
new Object[] "rule1""type1""timeout1""task status",
                            
"alert type1",
                            
"a\na\na\na" }
);
            _tblModelRules
                    .addRow(
new Object[] "rule1""type1""timeout1""task status",
                            
"alert type1",
                            
"a\na\na\na" }
);
            _tblModelRules
            .addRow(
new Object[] "rule1""type1""timeout1""task status",
                    
"alert type1",
                    
"a\na\na\na" }
);
            _tblModelRules
            .addRow(
new Object[] "rule1""type1""timeout1""task status",
                    
"alert type1",
                    
"a\na\na\na" }
);
        }

        
return _tblModelRules;
    }


}

控制的关键在这一段代码:
getSumaryTxtPane().setSize(columnModel.getColumn(column).getWidth(), 100000);
其中100000可以变成>=7的数字都是可以的


posted on 2007-11-06 11:29 lk 阅读(539) 评论(0)  编辑  收藏 所属分类: j2se

只有注册用户登录后才能发表评论。


网站导航: