学习网考试学习资料

Gzu521.com

在JTable中放置JTextarea(1)

微软认证   点击:次   发布时间:2006-11-30   【字体: 】   来源:Gzu521.com
Gzu521.com我的学习网

今天需要做一个界面,jtable的其中最后一列的显示的文字比较多,而且需要分行显示。jtable默认所存放的cellrenderer是jtextfield,无法满足要求,经过google在网上查找相关资料,大多数实现并没有实现根据textarear里面文字信息的多少决定textarea的高度。写了一个实现,请大家参考一下。


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());

下 一 页
2页: 第 [1] [2]

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...