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(500, 400);
}

private Component getPanelCtrl ()

{
if (null == _panelCtrl)

{
_panelCtrl = new JPanel();
_panelCtrl.setLayout(new FlowLayout(FlowLayout.RIGHT, 4, 4));
_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 阅读(552)
评论(0) 编辑 收藏 所属分类:
j2se