社区
Java SE
帖子详情
关于JTable
fpwang
2003-08-24 11:25:26
我想实现JTable中单行是一种颜色,而双行是另一种颜色?
我试着用CellRenderer但是遇到很多麻烦,怎么解决呢,有没有其他方法,或是提供一些文档资料。
请赐教,先谢了!
...全文
421
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
的显示效果
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.连连看事件监听 总结和任务
JTable
动态刷新数据
JTable
动态刷新数据
JTable
动态刷新数据
JTable
动态刷新数据
JTable
动态刷新数据
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章