改变列头

flightTable.getTableHeader().setDefaultRenderer(new TableCellRenderer() {

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

MButton btn = new MButton();

btn.setSkinColor(getSkinColor());

if (!isEnabledColorShinUI()) {

btn.setBorderPainted(true);

btn.setEnabledColorShinUI(isEnabledColorShinUI());

}

btn.setAlpha(0.9f);

btn.setText(value.toString());





// 去除背景颜色 改为透明

((JComponent) table.getTableHeader()).setOpaque(true);

((JComponent) table.getTableHeader()).setBackground(MUIManager.getColor(getSkinColor(), 0.2f));





return btn;

}

});

设置行颜色

DefaultTableCellRenderer cellRender = new DefaultTableCellRenderer() {

private static final long serialVersionUID = 5419938797587921762L;





@Override

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {





// 浅绿:#5dd24d,浅蓝:#49a1e1,中紫:#a733b5 ,浅黄:#dfd74c,天蓝:#3880da





// 设置颜色

FlightDispatch flight = flightList.get(row);

int fdType = flight.FDTYPE;





// 状态为已到达的过站航班(进港并出港的航班,飞机号为同一飞机号):LightGreen(浅绿)

if (fdType == 3) {

setBackground(Color.decode("#5dd24d"));

}





// 状态为已到达的单进航班:MediumOrchid(中紫)

else if (fdType == 2) {

setBackground(Color.decode("#49a1e1"));

}





// 单出航班:White(白)

else if (fdType == 1) {

setBackground(Color.WHITE);

}





// 前方未起飞的航班:LightYellow(浅黄)





// 加油開始或补油開始或抽油開始:绿色





// 加油员接收任务到到达机位的这段时间(未点击到达机位动作之前,点击后就变绿色):黄色





// 异常航班(如状态为:延误、备降)红色





// 已取消的航班 :天蓝色





// 状态为前方起飞未到达本场的航班:LightBlue(浅蓝)





return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

}





};





cellRender.setHorizontalAlignment(SwingConstants.CENTER);

flightTable.setDefaultRenderer(Object.class, cellRender);

// flightTable.setSelectionBackground(Color.RED);

Swing JTable 具体解释的更多相关文章

  1. swing JTable

    JTable 实例 import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayo ...

  2. Swing JTable使用

    package cn.ychx; import java.awt.Dimension; import java.awt.Toolkit; import java.sql.Connection; imp ...

  3. swing jTable排序问题(点击表头排序)

    1.JDK6自带排序实现: tableName.setAutoCreateRowSorter(true); 2.其实界面设计中勾选一个属性就搞定了: .

  4. swing JTable 更新数据

    rowData 是将要更新的表格内数据,coloumnName是将要更新的表头数据. table是原本的table对象,更新数据的时候要用 DefaultTableModel 类~ /*更新table ...

  5. Java Swing 之JTable及其简单的用法

    我们都知道JTable需要使用一个Model配合才能更好地发挥其作用.而使用Model有好多种方法,但是难易程度却大大不同,比如说我们使用AbstractTableModel接口要实现里面的好多方法, ...

  6. java swing 开发 -JTable

    最近利用空闲时间自己琢磨了一下java swing 编程,其实在从事javaweb之前我一直向往的就是java swing 开发,不知道为什么可能当时觉得Windows上的exe程序很是神奇,关于wi ...

  7. java swing 中JTable实现指定单元格为下拉框

    利用自定义的CellEditor实现第四列第二行为下拉框,本列其余行为文本框 利用默认的DefaultCellEditor设置第五列整列为下拉框   package mypackage; import ...

  8. java swing 添加 jcheckbox复选框

    总体上而言,Java Swing编程有两大特点:麻烦.效果差. 麻烦是说由于设计器的使用不方便(如果您希望使用窗体设计器通过快速拖拽控件建立您的Java Swing GUI程序,请您使用MyEclip ...

  9. Java API 各个包的内容解释

    java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类. java.awt 包含用于创建用户界面和绘制图形图像的所有类. java.awt. ...

随机推荐

  1. Kvm虚拟化安装与虚拟机创建

    1. 验证CPU是否支持KVM:如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. egrep '(vmx|svm)' /proc/cpuinfo 2. 关闭SELinux ...

  2. centos 磁盘分区格式化与挂载

    1 查看系统里硬盘信息fdisk -l 2 磁盘分区fdisk /dev/sdc输入m显示帮助a:命令指定启动分区:d:命令删除一个存在的分区:l:命令显示分区ID号的列表:m:查看fdisk命令帮助 ...

  3. shell 文本加密

    第一种:[ Python 与 Bash Shell 的结合 ]这个命令会让你输入一个字符串,然后会再输出一串加密了的数字. 加密代码[照直输入]:python -c 'print reduce(lam ...

  4. bzoj 3203: [Sdoi2013]保护出题人 凸包

    题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=3203 题解 首先我们考虑对一大波僵尸来袭的情况进行分析 假设来袭的僵尸是\(\{ a_1 ...

  5. 【20181019T3】比特战争【最小生成树思想】

    题面 [错解] Hmm不可做啊 要不按b排个序? 然后并查集瞎搞,刷刷刷过了样例 然后大样例大了几万倍 出了组小数据,Successful Hack 弃疗 水过10分 [正解] 用占领的边将顶点连起来 ...

  6. Codeforces Round #449 (Div. 2)ABCD

    又掉分了0 0. A. Scarborough Fair time limit per test 2 seconds memory limit per test 256 megabytes input ...

  7. 【二分图】【并查集】XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem L. Canonical duel

    给你一个网格(n<=2000,m<=2000),有一些炸弹,你可以选择一个空的位置,再放一个炸弹并将其引爆,一个炸弹爆炸后,其所在行和列的所有炸弹都会爆炸,连锁反应. 问你所能引爆的最多炸 ...

  8. 【数位dp】【二分】Gym - 101411H - Hotel in Ves Lagos

    数位dp预处理之后,可以容易得到f(x),代表小于等于x的数中,有多少个不含13的.然后就能二分答案啦. #include<cstdio> #include<iostream> ...

  9. Activity(活动)生命周期(1)--返回栈

    Android是使用任务(task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back stack).栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的 ...

  10. Problem D: 指针:调用自定义排序函数sort,对输入的n个数进行从小到大输出。

    #include<stdio.h> int sort(int *p,int n) { int i,j,temp; ;i<n-;i++) for(j=i;j<n;j++) if( ...