科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在JTable中放置JTextarea

在JTable中放置JTextarea

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

今天需要做一个界面,JTable的其中最后一列的显示的文字比较多,而且需要分行显示。JTable默认所存放的CellRenderer是JTextField,无法满足要求,经过google在网上查找相关资料。

作者:中国IT实验室 来源:中国IT实验室 2007年9月26日

关键字: 编程 java

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

    今天需要做一个界面,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;
    }

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章