「java表格表头」数据表格表头
本篇文章给大家谈谈java表格表头,以及数据表格表头对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java在swing中如何显示表头?
- 2、java 多表头表格的实现
- 3、java 怎么让list显示在这个表格的表头 请详细一点谢谢
- 4、Java 实现多表头表格
- 5、JAVA如何实现jtable 表头实现类似Excel筛选功能
- 6、java 表头 和表格大小的问题
java在swing中如何显示表头?
java在swing中如何显示表头?
// 创建表格:直接有表头
TableModel model = new DefaultTableModel(//
new Object[][] { { "11", "12" }, { "21", "22" } },// 数据
new Object[] { "第一列", "第二列" } // 表头
);
JTable table=new JTable(model);
java 多表头表格的实现
按照你的要求编写的Java程序如下
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.RowSorter;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableRowSorter;
public class E extends JFrame implements KeyListener{
String[] columnTitle={"书名","图书作者","发行时间","价格"};
Object[][]data={{new String(),new String(),new Date(),0.0}};
DefaultTableModel model = new DefaultTableModel(data,columnTitle){
public Class getColumnClass(int column) {
Class returnValue;
if (column == 2 || column==3){
returnValue = getValueAt(0, column).getClass();
} else {
returnValue = Object.class;
}
return returnValue;
}
};
JTable jt=new JTable(model);
JScrollPane jsp=new JScrollPane(jt);
E(){
setTitle("表格测试");
jt.addKeyListener(this);
TableColumnModel tcm=jt.getColumnModel();
TableColumn tc=tcm.getColumn(0);
tc.setPreferredWidth(250);
TableColumn tc1=tcm.getColumn(1);
tc1.setPreferredWidth(75);
TableColumn tc2=tcm.getColumn(2);
tc2.setPreferredWidth(75);
TableColumn tc3=tcm.getColumn(3);
tc3.setPreferredWidth(200);
RowSorter sorter = new TableRowSorter(model);
jt.setRowSorter(sorter);
add(jsp);
setSize(600,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER){//在最后一行最后一列单元格处,按回车键表格增加一个空行
int column=jt.getColumnCount()-1;
int row=jt.getRowCount()-1;
if(column==jt.getSelectedColumn() row==jt.getSelectedRow()){
Object[] empty={new String(),new String(),new Date(),0.0};
model.addRow(empty);
}
}
if(e.getKeyCode()==KeyEvent.VK_INSERT){//按Insert键插入一个空行
Object[] empty={new String(),new String(),new Date(),0.0};
model.insertRow(jt.getSelectedRow(),empty);
}
if(e.getKeyCode()==KeyEvent.VK_DELETE){//按Delete键删除当前行
model.removeRow(jt.getSelectedRow());
}
}
@Override
public void keyReleased(KeyEvent e) {}
public static void main(String[] args) {
new E();
}
}
运行结果(按价格升序排列,点表头可实现相应列升降序排序)
java 怎么让list显示在这个表格的表头 请详细一点谢谢
最后你得到的table只是一个字符串,那你就按照字符串来处理呗,table=table.replace("修改人
","修改人/tdtd"+list.size+"/td");
类似这样
Java 实现多表头表格
哥们我很同情你,当初我为了实现多表头表格查遍了各种网页,结果别人给出的实例要么不符合要求,要么太过复杂,最后还是自己摸索出来的。不知道你要的东西是不是下面这种形式的。如果是请回个话,我再把代码贴出来。前些天给人回答问题后老是有人理也不理直到问题过期,一点诚意都没有。
简单点说就是要设置表头的UI,下面是我以前程序中的一个类,带滚动条
package 表格;
import javax.swing.*;
import javax.swing.plaf.basic.BasicTableHeaderUI;
import javax.swing.table.JTableHeader;
import java.awt.*;
/************************************************************
* 仓储(一日游、普通客户)操作的表格。
* @author 胡海波
*
*/
public class StoreTable extends JTable {
public StoreTable() {
super(0, 13);
this.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
this.getTableHeader().setUI(new UI());
}
// 表头绘制器*********************************************************************
private class UI extends BasicTableHeaderUI {
private JTableHeader header;
public void paint(Graphics g, JComponent c) {
header = (JTableHeader) c;
getTableHeader().setPreferredSize(new Dimension(StoreTable.this.getWidth(), 45));// 设置表头大小。横坐标必须足够大,
//否则会出现绘制不完全以及闪烁现象
//分类
JLabel label=getLabel("分类");
rendererPane.paintComponent(g, label, header, 0, 0, getWidth(0), 45, true);
//到货日期
label=getLabel("到货日期");
rendererPane.paintComponent(g, label, header, getX(1), 0, getWidth(1), 45, true);
//送货日期
label=getLabel("送货日期");
rendererPane.paintComponent(g, label, header, getX(2), 0, getWidth(2), 45, true);
//收款代理
label=getLabel("收款代理");
rendererPane.paintComponent(g, label, header, getX(3), 0, getWidth(3), 45, true);
//客户**************************************************************************
label=getLabel("客户");
rendererPane.paintComponent(g, label, header, getX(4), 0, getWidth(4)+getWidth(5), 30, true);
label=getLabel("上游");
rendererPane.paintComponent(g, label, header, getX(4), 30, getWidth(4), 15, true);
label=getLabel("下游");
rendererPane.paintComponent(g, label, header, getX(5), 30, getWidth(5), 15, true);
//报关单号**********************************************************************
label=getLabel("报关单号");
rendererPane.paintComponent(g, label, header, getX(6), 0, getX(10)-getX(6), 15, true);
label=getLabel("上游");
rendererPane.paintComponent(g, label, header, getX(6), 15, getWidth(6)+getWidth(7), 15, true);
label=getLabel("下游");
rendererPane.paintComponent(g, label, header, getX(8), 15, getWidth(8)+getWidth(9), 15, true);
label=getLabel("进口");
rendererPane.paintComponent(g, label, header, getX(6), 30, getWidth(6), 15, true);
label=getLabel("出口");
rendererPane.paintComponent(g, label, header, getX(7), 30, getWidth(7), 15, true);
label=getLabel("进口");
rendererPane.paintComponent(g, label, header, getX(8), 30, getWidth(8), 15, true);
label=getLabel("出口");
rendererPane.paintComponent(g, label, header, getX(9), 30, getWidth(9), 15, true);
//业务员
label=getLabel("业务员");
rendererPane.paintComponent(g, label, header, getX(10), 0, getWidth(10), 45, true);
//操作员
label=getLabel("操作员");
rendererPane.paintComponent(g, label, header, getX(11), 0, getWidth(11), 45, true);
//审核人
label=getLabel("审核人");
rendererPane.paintComponent(g, label, header, getX(12), 0, getWidth(12), 45, true);
}
// 得到指定列的起始坐标
private int getX(int column){
int x=0;
for(int i=0;icolumn;i++)
x+=header.getColumnModel().getColumn(i).getWidth();
return x;
}
//得到指定列的宽度
private int getWidth(int column){
return header.getColumnModel().getColumn(column).getWidth();
}
//得到具有指定文本的标签
private JLabel getLabel(String text){
JLabel label = new JLabel(text, JLabel.CENTER);
label.setBorder(UIManager.getBorder("TableHeader.cellBorder"));
return label;
}
}
public static void main(String[] args){
JFrame frame=new JFrame();
frame.setSize(800,300);
frame.setDefaultCloseOperation(3);
frame.getContentPane().add(new JScrollPane(new StoreTable()));
frame.setVisible(true);
}
}
JAVA如何实现jtable 表头实现类似Excel筛选功能
用java的JTable实现类似Excel的报表控件主要需要完成的工作如下:
1. 单元格合并与拆分。
2. 基于JTextArea的渲染器,用来实现多行输入。
3. 由于采用JTextArea作为渲染器,导致文本只能向左对齐,后来通过重载JTextArea得以实现居中,居右,字体下划线等效果:)。
4. 鼠标动态拉行高,拉行宽。
5. 发现行数一多,导致性能下降很历害,所以实现了只刷新当前可视屏幕区域。
6. 单元格属性的设定:背景颜色、前景颜色、字体(大小,粗斜体,下划线,删除线)、对角线单元格(中国式报表)、边框线等
7. 打印预览
8. 打印
9. 自己实现的打印设置对话框(打印水印、打印方向、纸张页边距、打印纸张页数范围、打印顺序、设定打印的页眉和页脚、放大打印或缩小打印)
10.往单元格加载图片,可预览和打印出来
11.套打模式,在table显示标尺,并重置行高为1cm,行宽为2cm,以方便使用者对应套打纸张
12.为单元格绘制边线
13.查找和替换
14.增加行和列,删除行和列
15.格式刷
16.排序,升和降。可设定优先排序的形式,数值优先或着是中文优先,中文按照拼音排序
17.考贝,复制和贴粘
18.插入图表,目前只实现了柱状图表
19.求和
20.各种热键组合
21.显示和隐藏table网格线
Java实现jtable 表头实现类似Excel筛选功能,你可以采取以上步骤进行总结,希望你早日得到答案。
java 表头 和表格大小的问题
table
tr align='center' border='1'
td bgcolor='#00bbee' scope='col' width="40px;"工号/td
td width="40px;" bgcolor='#00bbee' scope='col'姓名/td
td bgcolor='#00bbee' scope='col' width="40px;"卡号/td
td bgcolor='#00bbee' scope='col' width="70px;"车辆信息/td
td bgcolor='#00bbee' width="40px;" scope='col'部门/td
td bgcolor='#00bbee' width="55px;" scope='col'领用人/td
td width="70px;" bgcolor='#00bbee'领用车牌/td
td bgcolor='#00bbee'添加时间/td
td width="100px;" bgcolor='#00bbee'最后修改时间/td
td width="50px;" bgcolor='#00bbee'修改人/td
/tr
/table
试试吧! 如果还出现这个问题记得把你的 table 的宽度加宽点 至少 7 ,8 百的宽度
关于java表格表头和数据表格表头的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。