以下的文章主要是对Oracle修改JTable中的某个单元格的颜色的介绍,不过原编者的代码没有实现其实际的需求,在47、48行上加else cell.setBackground(Color.WHITE);即可,以下就是相关内容的介绍。
Oracle修改JTable后的完整代码如下:
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import javax.swing.table.*;
- public class TestTableCellColor extends JFrame
- {
- private String[] colname = {"第1列","第2列","第3列","第4列","第5列"};
表头信息
- private String[][] data = new String[10][5];
表内容
界面组件----------------------
- private JScrollPane scroPanel = new JScrollPane();
中底层滚动面板
- private DefaultTableModel model;
Oracle修改JTable中某一单元格的颜色中列表默认TableModel
- private JTable table;
int r=1, c=2;用于控制变色区域
- public TestTableCellColor()
- {
- makeFace();
- addListener();
- showFace();
- }
- private void makeFace()
- {
表内容数组 data[][] 赋值------------
- for(int i = 0; i < 10; i++)
- {
- for(int j = 0; j < 5; j++)
- {
- data[j] = "( " + (j+1) + ", " + (i+1) + " )";
- }
- }
- table = new JTable(model = new DefaultTableModel(data,colname));
- table.setEnabled(false);
新建列表现器------------------------
- DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {
- public Component getTableCellRendererComponent(JTable table, Object value,
- boolean isSelected, boolean hasFocus, int row, int column)
- {
- Component cell = super.getTableCellRendererComponent
- (table, value, isSelected, hasFocus, row, column);
- if(row==r && column==c && cell.isBackgroundSet())
设置变色的单元格
- cell.setBackground(Color.GRAY);
- else
- cell.setBackground(Color.WHITE);
- return cell;
- }
- };
以上的相关内容就是对Oracle修改JTable中某一单元格的颜色的介绍,望你能有所收获。
【编辑推荐】