×

table标题

table标题(java,Swing,JTable,如何实现带竖标题的表格)

admin admin 发表于2024-03-27 16:31:48 浏览17 评论0

抢沙发发表评论

大家好,table标题相信很多的网友都不是很明白,包括java,Swing,JTable,如何实现带竖标题的表格也是一样,不过没有关系,接下来就来为大家分享关于table标题和java,Swing,JTable,如何实现带竖标题的表格的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

java,Swing,JTable,如何实现带竖标题的表格

Swing JTable 有一个东西叫 Table Model,它在和显示时是这样工作:

1,当表格要显示前,它会依次询问每一行每一列,你的 getCellRenderer 是什么,对于一般的字符串,我们回答 JLabel,这也是默认的。我们可以提供自已的 TableCellRenderer 来告诉 JTable 这个格子显示成 Checkbox 或下拉框。

2,当我们单击某个格子或键盘移动焦点到某个格子,JTable 会询问,这个格子 (x, y) 是否支持?我们需要在 getTableCellEditor().isCellEditable() 中回答是或否,当否时,JTable 什么也不做,当回答是时,JTable 会接着询问,getTableCellEditor().getTableCellEditorComponent(...) 是什么,默认时它是一个 JTextField,当然我们可以回答它是一个 JCheckBox 或 JComboBox 来告诉 JTable 我们有一个自定义的器。

在准备显示值时都会从 Table Model 中把值交给当前的 Cell Renderer 或 Cell Editor,当用户按确定或鼠标移走导致焦点丢失时需要验证这个正在的值是否正确合法(我们基于业务规则来验证,比如是否是个数字)并在正确时 commit 回 Table Mode (commit 过程本身我们不需要操作,只需要告诉 JTable true 或 false),验证失败时直接丢弃这个值。

我们提供一个自己的 TableCellRenderer 和 TableCellEditor 然后在每一个方法里面打印一下内容来观察它的工作过程和调用次序。然后我们给出自己的实现方法。

基于上面的了解,你这个问题,只需要在询问第一列是否可以时统统回答No,然后自己自动生成这一列的值。至于其它的你不需要特别的 Cell Editor ,你只需要继承一个默认的 DefaultCellEditor,它只需要回答对第一列不可就可,其它方法统统不要覆盖,直接使用继承来的。创建 JTable 时设置这个 Cell Editor. 如果你希望第一列的背景色略有不同那你得用一个不同的 Cell Renderer,继承自 JLabel,但当是第一列时就给它改一下 JLabel 的背景颜色,其它不变地继承使用继承来的方法不要覆盖掉,同样是创建 JTable 后就设置 Cell Renderer。

记得因为第一列在 JTable 看来是数据,当在我们概念上看来不是数据,因此我们需要注意列号偏移了一位,比如我们在 Vector 这个二组的数组中用 0 列表示第一列,从#1列开始才是数据。

看看我写的一个 MyCellRenderer,它添加一个分隔符在其中,可以拖动,只是这个 UI 难看了点。

package com.ts.ui.util;import java.awt.Component;import java.awt.Graphics;import java.awt.Insets;import java.awt.event.MouseEvent;import java.util.EventObject;import javax.swing.DefaultCellEditor;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.UIManager;import javax.swing.border.Border;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.TableColumn;import javax.swing.table.TableColumnModel;import sun.swing.table.DefaultTableCellHeaderRenderer;public class CLTreeTable extends JTable {private static final int SEPARATOR = 2;class MyCellRenderer extends DefaultTableCellRenderer {public Component getTableCellRendererComponent(JTable table,Object value, boolean isSelected, boolean hasFocus, int row,int column) {if (column == SEPARATOR) {JButton renderer = new JButton();renderer.setBorder(new MyBorder(renderer.getBorder()));return renderer;} else {return super.getTableCellRendererComponent(table, value,isSelected, hasFocus, row, column);}}}class MyHeaderRenderer extends DefaultTableCellHeaderRenderer {public Component getTableCellRendererComponent(JTable table,Object value, boolean isSelected, boolean hasFocus, int row,int column) {if (column == SEPARATOR) {JButton renderer = new JButton();renderer.setBorder(new MyBorder(renderer.getBorder()));return renderer;} else {return super.getTableCellRendererComponent(table, value,isSelected, hasFocus, row, column);}}public void paintComponent(Graphics graphic) {super.paintComponent(graphic);}}class MyCellEditor extends DefaultCellEditor {public MyCellEditor(JTextField textField) {super(textField);}public boolean isCellEditable(EventObject anEvent) {if (anEvent instanceof MouseEvent) {MouseEvent event = (MouseEvent) anEvent;int column = CLTreeTable.this.columnAtPoint(event.getPoint());if (column == SEPARATOR) {return false;}}return super.isCellEditable(anEvent);}}class MyBorder implements Border {private Border delegate;MyBorder(Border delegate) {this.delegate = delegate;}public void paintBorder(Component c, Graphics g, int x, int y,int width, int height) {this.delegate.paintBorder(c, g, x, y, width, height);}public Insets getBorderInsets(Component c) {return new Insets(0, 1, 0, 1);}public boolean isBorderOpaque() {return this.delegate.isBorderOpaque();}}public CLTreeTable(Object header) {super(data, header);super.setDefaultRenderer(Object.class, new MyCellRenderer());super.setDefaultEditor(Object.class, new MyCellEditor(new JTextField()));super.getTableHeader().setDefaultRenderer(new MyHeaderRenderer());if (header.length 》 SEPARATOR) {TableColumnModel model = super.getColumnModel();TableColumn column = model.getColumn(SEPARATOR);column.setMaxWidth(16); // Swing’s default minimum width;}}public static void main(String args) {JFrame frame = new JFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);String {{ "A1", "B1", "", "C1", "D1", "E1" },{ "A2", "B2", "", "C2", "D2", "E2" } };String { "A", "B", "", "C", "D", "E" };JScrollPane box = new JScrollPane(new CLTreeTable(data, header));frame.getContentPane().add(box);frame.setBounds(100, 100, 400, 400);frame.setTitle("My CL Tree Table");frame.setVisible(true);}}

网页table邮件 怎么做到主副标题显示

首先,说明一下:您所说的主标题,就是邮件的标题(主题),而您所说的副标题其实就是邮件的内容摘要(邮件前面的一部分字符)。其次,主副标题显示是邮箱自有的功能,无须开通就有。第三,要让table的副标题能正常显示,您所做的唯一方法就是在table代码前添加纯文字内容就可以了。搜索更多模板,请百度“图文并茂+邮件”。

我在JSP想把标题放在页面中间,运行后,标题就靠左边,怎么修改才能让标题在table的中 啊程序如下

《td》《font size=7;font color=blue》标题《/font》《/td》改成《td style="text-align:center;"》《font size=7;font color=blue;》标题《/font》《/td》就是加上在父容器加上style="text-align:center;"

英语里面table和form作为表的区别是什么

这个问题我会,虽然本人英语口语不是很好,但是对英语四六级词汇还是很熟悉的~给大家总结了一个表格可以先粗略看一下:


【含义】

1、table

n.桌子;表;台子;几;(就餐或玩牌等的)一桌人;一览表;(竞赛等的)名次表,排名榜,积分表;

vt.(正式)提出,把…列入议事日程;(将主意、建议等)搁置;

2、form

n.表,表格;类别,种类;形状,外形;体形;(存在的)形态,形式;(尤指艺术作品或文章的)结构;体能,良好的健康状态;良好表现;体能;惯常做法,习俗;(英国的)班级,年级;不礼貌的行为;

v.(使)出现;使)(关系、习惯或想法)形成;构成,是……的组成部分;陶冶,培养;组织,建立;


【用法】

table的用法

1、table表示“名单、目录、表格”之意时,是普通用词,一般指易于迅速查阅使用,具有特定编排方法的目录或表格。

2、table的基本意思是“桌子”,一般用来吃饭、游戏、工作或放置东西。table还可作“台”“工作台”解,是可数名词。

3、table与the连用,可作“一桌人”“全桌人”解。作此解时是集合名词,当其作主语时,谓语动词可用单数形式,也可用复数形式。

例句1:This example demonstrates a table with a caption.这个案例展示了包含标题的表格。

例句2:We should create a table for the long-running process.我们应该为长期运行的流程创建表格。

form的用法

1、表示“名单、目录、表格”之意时,特指上面印有横线或格让人填写规定内容的表格。

2、form指某事物的具体组成结构、形式、体制,强调物体存在的形式,或整个实体的特殊形状,包括外部和内部的形状及结构,常给人以立体感。

3、form表示“形式”“形状”时,可用作可数名词或不可数名词。表示“表格”,是可数名词。作“情绪”“状态”解时,是不可数名词。

例句1:All you need to do is complete this form. 你要做的就是填好这个表格。

例句2:Is there a place on the form to put your address? 表格上有填写地址的空白吗?

如何修改TABLE CONTROL中的标题栏

设置步骤如下: 1、桌面空白处右击,点击个性化; 2、点击窗口颜色; 3、点击高级外观设置; 4、项目选择活动窗口标题栏,后方颜色下列列表即可选择,完成后点击确定即可。

latex 用tabular创建的表格如何加一个标题

1、首先打开latex软件,准备操作设置并进入到窗口。

2、接着在工具栏找到输入表格的图标,点击弹出插入表格的下拉菜单。

3、然后在下拉菜单中选择”Tabular“,输入表格数据,创建一个常用的表格。

4、接着使用命令\title{...}, \author{...}来为新创建的表格插入标题和作者。

5、编译后即可看到tabular创建的表格,已经加入了标题。

table表格的标题用什么标签啊

用caption吧,简单示例代码如下: 表格标题 一行一列

HTML里,怎么给table做一个外面的标题框

html中给table增加外面的标题框可以用div嵌套表格的方式来实现:

《!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ***隐藏网址***《html》  《head》 ***隐藏网址***   《title》Untitled Document《/title》    《script language="JavaScript" src="js/prototype.js"》《/script》    《script language="JavaScript"》      function changeStyle(){        if(document.getElementById(’test’).style.display==’none’){          alert("show");          document.getElementById(’test’).style.display=’block’        }else{          alert("hide");          document.getElementById(’test’).style.display=’none’        }      }    《/script》  《/head》  《body》    《input value="测试" type="button" onclick="changeStyle()"》    《select type="button" value="测试" onchange="changeStyle();"》      《option》1《/option》      《option》2《/option》    《/select》    《table》      《tr》      《td》《!--在table中嵌套div时,必须将div放在td中,否则达不到预期效果--》    《div id="test" style="display:none;"》    《table》      《tr》        《td》      《input type="text" value="1"/》      《/td》      《/tr》    《/table》    《/div》    《/td》          《/tr》    《/table》  《/body》 《/html》 效果:

jtable设置表头不能拖拽

JTable table=new JTable();表头不可拖动 table .getTableHeader().setReorderingAllowed(false);列大小不可改变table .getTableH...百度知道Java开发网 - 如何控制 JTable 的表头不让随意拖动?2003年9月29日我可以把第一列此行的选中状态设为真(RadionButton+checkBox),可是如果用户拖动表头时,第一...Java开发网JTable,禁用用户列拖动 |JTable,禁用用户列拖动 gio*_*ozh64javaswingjtable 我宣布我JTable的: data_table =newJTable(info, header) {@OverridepublicbooleanisCel...问题列表大家还在搜table表头固定,不随滚动条而动datatables菜鸟教程jtable设置表头内容java table一列不排序jpaneljtable位置js删除table指定行jtablemodle设置标题jtable添加复选框jtable设置表头不能拖拽 - 移动设备专家答疑 -

Html表格中,表格标题如何调大小,还有标题跟表格之间的间距如何调如下图

table caption{padding:10px 0px;font-size:20px;color:#c00;} padding:10px 0px; 上下补白10像素font-size:20px; 字体大小20像素color:#c00; 字体颜色#c00

关于table标题,java,Swing,JTable,如何实现带竖标题的表格的介绍到此结束,希望对大家有所帮助。