社区
Java SE
帖子详情
关于JTable
fpwang
2003-08-24 11:25:26
我想实现JTable中单行是一种颜色,而双行是另一种颜色?
我试着用CellRenderer但是遇到很多麻烦,怎么解决呢,有没有其他方法,或是提供一些文档资料。
请赐教,先谢了!
...全文
420
9
打赏
收藏
关于JTable
我想实现JTable中单行是一种颜色,而双行是另一种颜色? 我试着用CellRenderer但是遇到很多麻烦,怎么解决呢,有没有其他方法,或是提供一些文档资料。 请赐教,先谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
biti_9512207
2003-08-26
打赏
举报
回复
就自己实现CellRenderer好了.
getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
TableCellRenderer中必须实现上面这个方法, 里面的int row就是行号.
你判断出奇偶后自己设一个背景色就可以了.
sun2927
2003-08-26
打赏
举报
回复
up
fpwang
2003-08-26
打赏
举报
回复
谢谢biti_9512207(波波斯基)的指点!
谢谢onefox(一品狐)的不倦帮助!
谢谢sun2927(小健)的"up"!
结帖!!!!!!!!!!!
fpwang
2003-08-26
打赏
举报
回复
谢谢三位!
谢谢biti_9512207(波波斯基)的指点!
谢谢onefox(一品狐)的不倦帮助!
谢谢sun2927(小健)的"up"!
结贴!!!!!!!!!!!!!!!!!!!!!
onefox
2003-08-26
打赏
举报
回复
完成了 :)
起先我一直用 DefaultTableCellRenderer 里的 setValue(Object value)
谢谢 biti_9512207(波波斯基)!
=================================================================
/**
* [RoundColorTable.java] 间隔色的 JTable
*
*
* 创建日期:(2003-8-25)
* @author:ONE_Fox
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class RoundColorTable extends JFrame {
private String[] colname = {"第1列","第2列","第3列","第4列","第5列"}; //表头信息
private String[][] data = new String[10][5]; //表内容
int[] selected = null; //选择记录
//界面组件----------------------//
private JScrollPane scroPanel = new JScrollPane(); //中底层滚动面板
private DefaultTableModel model; //列表默认TableModel
private JTable table;
/**
* 构造方法 SelectionDemo()
* @param data String[][]
* @param colname String[]
*/
public RoundColorTable() {
makeFace();
addListener();
showFace();
}
/**
* 方法: 界面构建 makeFace()
*/
private void makeFace() {
//表内容数组 data[][] 赋值------------//
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 5; j++) {
data[i][j] = "( " + (j+1) + ", " + (i+1) + " )";
}
}
table = new JTable(model = new DefaultTableModel(data,colname));
//设置列表现器------------------------//
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if(row%2 == 0)
setBackground(Color.white);
else if(row%2 == 1)
setBackground(new Color(206,231,255));
return super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
}
};
for(int i = 1; i <= 5; i++) {
table.getColumn("第"+i+"列").setCellRenderer(tcr);
}
scroPanel.getViewport().setBackground(Color.white);
scroPanel.getViewport().add(table);
//总体界面布局------------------------//
getContentPane().add(scroPanel, BorderLayout.CENTER);
}
/**
* 方法: 界面显示 showFace()
*/
private void showFace() {
setTitle("间隔色的 JTable");
setSize(500,400);
Toolkit tmpTK = Toolkit.getDefaultToolkit();
Dimension dime = tmpTK.getScreenSize();
Dimension frameSize = this.getPreferredSize();
setLocation(dime.width/2 - (frameSize.width/2),
dime.height/2 - (frameSize.height/2));
setResizable(false);
show();
}
/**
* 方法: 添加事件监听 addListener()
*/
private void addListener() {
this.addWindowListener(new WindowAdapter(){ //添加窗口关闭事件
public void windowClosing(WindowEvent e){
new JFrame().setVisible(false);
dispose();
}
});
}
/**
* 程序入口 main()
*/
public static void main(String args[]) {
//获取设置系统风格-------------------//
try {
String laf = UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(laf);
} catch (Exception e) {}
new RoundColorTable();
}
}
fpwang
2003-08-26
打赏
举报
回复
我用biti_9512207(波波斯基)的方法实现了,
但是我用JLabel时无法改变背景色
用JTextField又有讨厌的黑框,有什么办法去掉呢?
或是应该用别的控件???
onefox
2003-08-26
打赏
举报
回复
惭愧, 我用 DefaultTableCellRenderer 实现
但不成工,用鼠标选择表格时发生混乱
可能实现方式就不对吧
onefox
2003-08-25
打赏
举报
回复
关注, 帮你 up
fpwang
2003-08-25
打赏
举报
回复
呵呵,谢谢
大家有什么想法,就算不一定成功也说出来
讨论一下吧
JTable
使用
JTable
使用
JTable
使用
JTable
使用
JTable
使用
JTable
使用
JTable
JTable
的显示效果
Java学习指南(Swing入门篇)
☆ Java程序员居家旅行必备课程 ☆Java学习指南系列的第3篇,承接高级语法篇,介绍基于Java Swing的GUI界面程序开发的技术。Swing系列教程分为两篇:(1) Swing入门篇 (2) Swing高级篇。通过本篇的训练,学员可以较容易的掌握Java的主要语法,对常用的API都有很好的掌握。本篇内容至少包含:- 基本控件的使用- 布局管理器的使用- 自定义布局- 图片的加载及使用- 对话框,及自定义对话框- 菜单和工具栏- 自定义绘图- JList 列表框的用法,以及单元格的自定义显示-
JTable
表格的用法,以及单元格的自定义显示- 一个基于
JTable
和 JSON 的学生管理系统- Java Swing应用程序的打包和发布技术,快速启动器机制等。本篇穿插多个实例,通过实例,综合运用多种技术,使学员对项目的构建有所有认识。
jTree和
jTable
双向联动
实现
jTable
和jTree的双向联动,点击jTree会选中
jTable
单元格,点击
jTable
会选中jTree节点。
JTable
的使用收藏
JTable
的使用收藏 1.
JTable
与TableModel 1.TableModel与
JTable
的关系 2.TableModel实践 3.使用
JTable
+TableModel展示java中的数据对象 2.
JTable
展示方式的美化 1.设置表格的宽度和高度 2.要显示表头 3.新加列,将列设为下拉框 4.表格排序 3.
JTable
事件响应和项目设想 4.一个游戏:《java连连看》 1.需求分析 2.编写TableModel和界面实现 3.连连看事件监听 总结和任务
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章