改变列头

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. 五十四 网络编程 TCP编程

    Socket是网络编程的一个抽象概念.通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 客户端 大多数连接都是可靠 ...

  2. 虚拟机Visualbox安装CentOS

    选择安装CentOS系统 进入了安装界面,选择语言,并选择继续 安装的主界面 1.先选择日期时间,选择了亚洲,并选择上海,再点击左上角的完成按钮 2.再选择键盘,选择英文 3.选择语言为英语 4.选择 ...

  3. Aras Innovator 11 sp2 IE客户端设置

    在上一篇文章<Aras Innovator 11 sp2 安装>后,服务器算是安装好了,还需要在使用的客户端进行设置才可以正常使用Aras Innovator 该篇为IE设置,还有< ...

  4. Ubuntu18.04 安装Chrome浏览器

    一路copy paste就OK sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources. ...

  5. 编写.gitignore 文件

    讲代码 放入 Git 仓库中进行版本控制管理时,有些文件是不需要放入Git 中,比如 Maven 生成的target 目录,IDEA/Eclipse的工程文件, 在项目的根目录 下 添加一个名为.gi ...

  6. 洛谷P3805 [模板]Manacher算法 [manacher]

    题目传送门 题目描述 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 输入输出格式 输入格式: 一行小写英文字符a,b,c...y,z组成的字符 ...

  7. 字符串Hash相关

    其实也并不是什么特别难的算法,但是我个人实在是不太喜欢字符串之类的东西(字符串神马的真的是麻烦),于是一直拖着不想看,然后模板题之类的也懒得做. Hash的思想其实也没什么复杂的,就是给定一系列字符串 ...

  8. 多协议注入工具t50

    多协议注入工具t50   t50是Kali Linux自带的一款网络数据包注入工具.该工具支持15种协议,不仅涵盖常规协议(ICMP.TCP.UDP),还涵盖基础协议和路由协议(GRE.IPSec.R ...

  9. k-近邻算法 简单例子

    from numpy import * import operator def create_data_set(): # 训练集与标签 group = array([[1.0, 1.1], [1.0, ...

  10. 浙南联合训练赛 D - Broken Clock

    You are given a broken clock. You know, that it is supposed to show time in 12- or 24-hours HH:MM fo ...