gettin close

git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@546 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
Tgui 2007-03-02 06:32:43 +00:00
parent 0a1d957cfa
commit 3d7b68dee9
12 changed files with 210 additions and 102 deletions

View File

@ -25,9 +25,9 @@ import enginuity.logger.utec.properties.UtecProperties;
// CommPortOwnershipListener { // CommPortOwnershipListener {
import gnu.io.*; import gnu.io.*;
public class UtecSerialConnection { public class UtecSerialConnection{
private static GetMapFromUtecListener getMapFromUtecListener = null;
// Parameters used to define serial connection // Parameters used to define serial connection
public static SerialParameters parameters = new SerialParameters(); public static SerialParameters parameters = new SerialParameters();
@ -50,14 +50,7 @@ public class UtecSerialConnection {
// Listeners // Listeners
private static Vector portListeners = new Vector(); private static Vector portListeners = new Vector();
// Define whether or not we are recieving a map from the UTEC
private static boolean isMapFromUtecPrep = false;
private static boolean isMapFromUtec = false;
private static UtecMapData currentMap = null;
private static String totalDat = "";
private static UtecSerialListener serialListener = null; private static UtecSerialListener serialListener = null;
public static void init(UtecSerialListener se){ public static void init(UtecSerialListener se){
@ -100,6 +93,7 @@ public class UtecSerialConnection {
* @throws SerialConnectionException * @throws SerialConnectionException
*/ */
public static void openConnection() throws SerialConnectionException { public static void openConnection() throws SerialConnectionException {
System.out.println("Opening connection now.");
// if(sPort == null){ System.err.println("No port selected or available to open."); return; } // if(sPort == null){ System.err.println("No port selected or available to open."); return; }
@ -158,7 +152,7 @@ public class UtecSerialConnection {
// Add this object as an event listener for the serial port. // Add this object as an event listener for the serial port.
try { try {
sPort.addEventListener(serialListener); sPort.addEventListener(new UtecSerialListener());
} catch (TooManyListenersException e) { } catch (TooManyListenersException e) {
System.err.println("Too Many listeners"); System.err.println("Too Many listeners");
sPort.close(); sPort.close();
@ -282,4 +276,17 @@ public class UtecSerialConnection {
public static boolean isOpen(){ public static boolean isOpen(){
return open; return open;
} }
public static InputStream getInputFromUtecStream() {
return inputFromUtecStream;
}
public static OutputStream getOutputToUtecStream() {
return outputToUtecStream;
}
public void serialEvent(SerialPortEvent arg0) {
// TODO Auto-generated method stub
}
} }

View File

@ -48,27 +48,17 @@ public class LoggerEvent {
if(theData.startsWith("--")){ if(theData.startsWith("--")){
theData = "0.0"; theData = "0.0";
} }
if(theData.startsWith("ECU")){
theData = "0.0";
}
try{ try{
doubleData[i] = Double.parseDouble(theData); doubleData[i] = Double.parseDouble(theData);
}catch (NumberFormatException e) { }catch (NumberFormatException e) {
System.out.println("Number error in commevent."); //System.out.println("Number error in commevent.");
this.isValidData = false; this.isValidData = false;
return; return;
} }
// Valid data found
String[] afrIndex = UtecProperties.getProperties("utec.afrIndex");
if(afrIndex == null || afrIndex[0] == null || afrIndex[0].length() < 1){
// No afr data available
}else{
System.out.println("AFR Data available.");
UtecAFRListener utecAFRListener = DataManager.getUtecAFRListener();
if(utecAFRListener != null){
utecAFRListener.receivedUtecAFRData(Double.parseDouble(afrIndex[0]));
}
}
} }
} }

View File

@ -3,6 +3,7 @@ package enginuity.logger.utec.commEvent;
import java.util.TimerTask; import java.util.TimerTask;
import enginuity.logger.utec.comm.UtecSerialConnection; import enginuity.logger.utec.comm.UtecSerialConnection;
import enginuity.logger.utec.gui.JutecGUI;
public class UtecTimerTask extends TimerTask{ public class UtecTimerTask extends TimerTask{
private UtecTimerTaskListener listener = null; private UtecTimerTaskListener listener = null;
@ -14,16 +15,19 @@ public class UtecTimerTask extends TimerTask{
this.listener = listener; this.listener = listener;
this.data = data; this.data = data;
this.stringBuffer = new StringBuffer(data); this.stringBuffer = new StringBuffer(data);
JutecGUI.getInstance().getJProgressBar().setMinimum(0);
JutecGUI.getInstance().getJProgressBar().setMaximum(data.length());
} }
public void run(){ public void run(){
char theChar = stringBuffer.charAt(counter); char theChar = stringBuffer.charAt(counter);
System.out.println("->"+theChar+"<- :"+(int)theChar+""); // System.out.println("->"+theChar+"<- :"+(int)theChar+"");
//Send the data to the Utec //Send the data to the Utec
UtecSerialConnection.sendCommandToUtec((int)theChar); UtecSerialConnection.sendCommandToUtec((int)theChar);
counter++; counter++;
JutecGUI.getInstance().getJProgressBar().setValue(counter);
// Kill the timer after a at the end of the string // Kill the timer after a at the end of the string
if(counter == data.length()){ if(counter == data.length()){

View File

@ -36,7 +36,7 @@ import enginuity.logger.utec.commEvent.UtecTimerTaskManager;
public class UtecInterface{ public class UtecInterface{
//Store string vector of known system comm ports //Store string vector of known system comm ports
private static Vector portChoices = listPortChoices(); private static Vector portChoices = listPortChoices();
private static UtecSerialListener se = new UtecSerialListener(); private static UtecSerialListener serialEventListener = new UtecSerialListener();
private static Vector<LoggerListener> loggerListeners = new Vector<LoggerListener>(); private static Vector<LoggerListener> loggerListeners = new Vector<LoggerListener>();
/** /**
@ -44,7 +44,7 @@ public class UtecInterface{
* *
*/ */
public static void init(){ public static void init(){
UtecSerialConnection.init(se); UtecSerialConnection.init(serialEventListener);
} }
/** /**
@ -166,8 +166,7 @@ public class UtecInterface{
* @param mapNumber * @param mapNumber
*/ */
public static void pullMapData(int mapNumber, GetMapFromUtecListener listener) { public static void pullMapData(int mapNumber) {
/*
// Sanity check // Sanity check
if (mapNumber < 1 || mapNumber > 5) { if (mapNumber < 1 || mapNumber > 5) {
System.err.println("Map selection out of range."); System.err.println("Map selection out of range.");
@ -184,14 +183,11 @@ public class UtecInterface{
System.out.println("UtecControl, getting map:" + mapNumber); System.out.println("UtecControl, getting map:" + mapNumber);
// Null out any previously loaded map // Null out any previously loaded map
this.currentMap = null; serialEventListener.currentMap = null;
// Who will get this map in the end?
this.getMapFromUtecListener = listener;
// Setup map transfer prep state // Setup map transfer prep state
this.isMapFromUtecPrep = true; serialEventListener.isMapFromUtecPrep = true;
this.isMapFromUtec = false; serialEventListener.isMapFromUtec = false;
// Iterate through command string // Iterate through command string
int starCounter = 0; int starCounter = 0;
@ -201,32 +197,32 @@ public class UtecInterface{
// Select map // Select map
if (mapNumber == 1) { if (mapNumber == 1) {
this.sendCommandToUtec(33); UtecTimerTaskManager.execute(33);
System.out.println("Requested Map 1"); System.out.println("Requested Map 1");
} }
if (mapNumber == 2) { if (mapNumber == 2) {
this.sendCommandToUtec(64); UtecTimerTaskManager.execute(64);
System.out.println("Requested Map 2"); System.out.println("Requested Map 2");
} }
if (mapNumber == 3) { if (mapNumber == 3) {
this.sendCommandToUtec(35); UtecTimerTaskManager.execute(35);
System.out.println("Requested Map 3"); System.out.println("Requested Map 3");
} }
if (mapNumber == 4) { if (mapNumber == 4) {
this.sendCommandToUtec(36); UtecTimerTaskManager.execute(36);
System.out.println("Requested Map 4"); System.out.println("Requested Map 4");
} }
if (mapNumber == 5) { if (mapNumber == 5) {
this.sendCommandToUtec(37); UtecTimerTaskManager.execute(37);
System.out.println("Requested Map 5"); System.out.println("Requested Map 5");
} }
}else if(starCounter == 1){ }else if(starCounter == 1){
// Make this class receptive to map transfer // Make this class receptive to map transfer
this.isMapFromUtec = true; serialEventListener.isMapFromUtec = true;
// No longer map prep // No longer map prep
this.isMapFromUtecPrep = false; serialEventListener.isMapFromUtecPrep = false;
}else{ }else{
System.err.println("No operation supported for properties value '*'"); System.err.println("No operation supported for properties value '*'");
@ -235,10 +231,9 @@ public class UtecInterface{
starCounter++; starCounter++;
}else{ }else{
// Send parsed command to the utec // Send parsed command to the utec
this.sendCommandToUtec(Integer.parseInt(commandList[i])); UtecTimerTaskManager.execute(Integer.parseInt(commandList[i]));
} }
} }
*/
} }
@ -343,4 +338,8 @@ public class UtecInterface{
public static void addLoggerListener(LoggerListener ll){ public static void addLoggerListener(LoggerListener ll){
loggerListeners.add(ll); loggerListeners.add(ll);
} }
public static Vector<LoggerListener> getLoggerListeners() {
return loggerListeners;
}
} }

View File

@ -3,26 +3,29 @@ package enginuity.logger.utec.commInterface;
import java.io.IOException; import java.io.IOException;
import java.util.Iterator; import java.util.Iterator;
import enginuity.logger.utec.comm.UtecSerialConnection;
import enginuity.logger.utec.commEvent.LoggerEvent; import enginuity.logger.utec.commEvent.LoggerEvent;
import enginuity.logger.utec.commEvent.LoggerListener; import enginuity.logger.utec.commEvent.LoggerListener;
import enginuity.logger.utec.gui.mapTabs.DataManager;
import enginuity.logger.utec.mapData.UtecMapData; import enginuity.logger.utec.mapData.UtecMapData;
import gnu.io.SerialPortEvent; import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener; import gnu.io.SerialPortEventListener;
public class UtecSerialListener implements SerialPortEventListener{ public class UtecSerialListener implements SerialPortEventListener{
// Define whether or not we are recieving a map from the UTEC
public boolean isMapFromUtecPrep = false;
public boolean isMapFromUtec = false;
public UtecMapData currentMap = null;
public String totalDat = "";
public UtecSerialListener(){
System.out.println("Serial listener was instantiated.");
}
/**
* Handles SerialPortEvents. The two types of SerialPortEvents that this
* program is registered to listen for are DATA_AVAILABLE and BI. During
* DATA_AVAILABLE the port buffer is read until it is drained, when no more
* data is availble and 30ms has passed the method returns. When a BI event
* occurs the words BREAK RECEIVED are written to the messageAreaIn.
*/
public void serialEvent(SerialPortEvent e) { public void serialEvent(SerialPortEvent e) {
/* System.out.println("Got serial event.");
// Create a StringBuffer and int to receive input data. // Create a StringBuffer and int to receive input data.
StringBuffer inputBuffer = new StringBuffer(); StringBuffer inputBuffer = new StringBuffer();
int newData = 0; int newData = 0;
@ -37,20 +40,12 @@ public class UtecSerialListener implements SerialPortEventListener{
// Append new output to buffer // Append new output to buffer
while (newData != -1) { while (newData != -1) {
try { try {
newData = inputFromUtecStream.read(); newData = UtecSerialConnection.getInputFromUtecStream().read();
if (newData == -1) { if (newData == -1) {
break; break;
} }
//if ('\r' == (char) newData) {
// inputBuffer.append('\n');
//} else {
// inputBuffer.append((char) newData);
//}
inputBuffer.append((char) newData); inputBuffer.append((char) newData);
System.out.print((char)newData); System.out.print((char)newData);
this.totalDat += (char)newData; this.totalDat += (char)newData;
@ -60,7 +55,7 @@ public class UtecSerialListener implements SerialPortEventListener{
return; return;
} }
} }
// Ouput to console
//System.out.println(inputBuffer); //System.out.println(inputBuffer);
if (this.isMapFromUtecPrep == true) { if (this.isMapFromUtecPrep == true) {
@ -93,14 +88,17 @@ public class UtecSerialListener implements SerialPortEventListener{
this.currentMap.populateMapDataStructures(); this.currentMap.populateMapDataStructures();
System.out.println("hi 3"); System.out.println("hi 3");
// Inform data manager of new map
DataManager.setCurrentMap(this.currentMap);
// Notify listner if available // Notify listner if available
System.out.println("Calling listeners."); //System.out.println("Calling listeners.");
if (this.getMapFromUtecListener != null) { //if (this.getMapFromUtecListener != null) {
System.out.println("Listener called."); // System.out.println("Listener called.");
this.getMapFromUtecListener.mapRetrieved(this.currentMap); // this.getMapFromUtecListener.mapRetrieved(this.currentMap);
}else{ //}else{
System.out.println("Calling listeners, but none found."); // System.out.println("Calling listeners, but none found.");
} //}
// Empty out map storage // Empty out map storage
this.currentMap = null; this.currentMap = null;
@ -114,11 +112,14 @@ public class UtecSerialListener implements SerialPortEventListener{
loggerEvent.setLoggerData(new String(inputBuffer)); loggerEvent.setLoggerData(new String(inputBuffer));
loggerEvent.setLoggerData(true); loggerEvent.setLoggerData(true);
Iterator portIterator = portListeners.iterator(); Iterator portIterator = UtecInterface.getLoggerListeners().iterator();
while (portIterator.hasNext()) { while (portIterator.hasNext()) {
LoggerListener theListener = (LoggerListener) portIterator.next(); LoggerListener theListener = (LoggerListener) portIterator.next();
if(loggerEvent.isValidData() == true){ if(loggerEvent.isValidData() == true){
//System.out.println("Valid data");
theListener.getCommEvent(loggerEvent); theListener.getCommEvent(loggerEvent);
}else{
//System.out.println("Invalid data");
} }
} }
@ -130,7 +131,5 @@ public class UtecSerialListener implements SerialPortEventListener{
//System.out.println("BREAK RECEIVED."); //System.out.println("BREAK RECEIVED.");
} }
*/
} }
} }

View File

@ -27,7 +27,7 @@ import enginuity.logger.utec.commInterface.UtecInterface;
/** /**
* @author botman * @author botman
*/ */
public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecListener, KeyListener { public class JutecGUI extends JFrame implements ActionListener, KeyListener {
// Top level desktop pane // Top level desktop pane
public JLayeredPane desktop = null; public JLayeredPane desktop = null;
@ -78,17 +78,17 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
private static JutecGUI instance = null; private static JutecGUI instance = null;
public static UtecMapData currentMap = null;
// Text input field for sending commands directly to the UTEC // Text input field for sending commands directly to the UTEC
private JTextField textInput = new JTextField(); private JTextField textInput = new JTextField();
private JLabel utecInputLabel = new JLabel(" Send Single Char Commands to UTEC: "); private JLabel utecInputLabel = new JLabel(" Send Single Char Commands to UTEC: ");
// Map tabs private JProgressBar jProgressBar = new JProgressBar();
private MapJPanel timingMapPanel = new MapJPanel(MapJPanel.TIMINGMAP);
private MapJPanel fuelMapPanel = new MapJPanel(MapJPanel.FUELMAP); public JProgressBar getJProgressBar() {
private MapJPanel boostMapPanel = new MapJPanel(MapJPanel.BOOSTMAP); return jProgressBar;
}
public static JutecGUI getInstance() { public static JutecGUI getInstance() {
return instance; return instance;
@ -103,12 +103,15 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
this.setResizable(false); this.setResizable(false);
this.setDefaultCloseOperation(setDefaultCloseOperation); this.setDefaultCloseOperation(setDefaultCloseOperation);
this.jProgressBar.setSize(790,20);
// ************************* // *************************
// Voice the welcome message // Voice the welcome message
// ************************* // *************************
SpeakString vc = new SpeakString("Welcome to you teck logger! Use at your own risk."); SpeakString vc = new SpeakString("Welcome to you teck logger! Use at your own risk.");
System.out.println("UTEC Gui is loading now.");
// Actions to take when window is closing // Actions to take when window is closing
addWindowListener(new WindowAdapter() { addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { public void windowClosing(WindowEvent e) {
@ -221,7 +224,8 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
JPanel totalPanel = new JPanel(new BorderLayout()); JPanel totalPanel = new JPanel(new BorderLayout());
JPanel commandPanel = new JPanel(new BorderLayout()); JPanel commandPanel = new JPanel(new BorderLayout());
this.textInput.addKeyListener(this); this.textInput.addKeyListener(this);
commandPanel.add(this.jProgressBar, BorderLayout.NORTH);
commandPanel.add(this.utecInputLabel, BorderLayout.WEST); commandPanel.add(this.utecInputLabel, BorderLayout.WEST);
commandPanel.add(this.textInput, BorderLayout.CENTER); commandPanel.add(this.textInput, BorderLayout.CENTER);
@ -312,14 +316,14 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
else if (cmd.equals("Save Map To File")) { else if (cmd.equals("Save Map To File")) {
System.out.println("Saving map to file."); System.out.println("Saving map to file.");
if (this.currentMap != null) { if (DataManager.getCurrentMapData() != null) {
String saveFileName = null; String saveFileName = null;
System.out.println("Save map now."); System.out.println("Save map now.");
fileChosen = fileChooser.showSaveDialog(this); fileChosen = fileChooser.showSaveDialog(this);
if (fileChosen == JFileChooser.APPROVE_OPTION) { if (fileChosen == JFileChooser.APPROVE_OPTION) {
saveFileName = fileChooser.getSelectedFile().getPath(); saveFileName = fileChooser.getSelectedFile().getPath();
this.currentMap.writeMapToFile(saveFileName); DataManager.getCurrentMapData().writeMapToFile(saveFileName);
} }
} else { } else {
@ -329,27 +333,27 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
else if (cmd.equals("Load Map #1")) { else if (cmd.equals("Load Map #1")) {
System.out.println("Starting to get map 1"); System.out.println("Starting to get map 1");
UtecInterface.pullMapData(1, this); UtecInterface.pullMapData(1);
} }
else if (cmd.equals("Load Map #2")) { else if (cmd.equals("Load Map #2")) {
System.out.println("Starting to get map 2"); System.out.println("Starting to get map 2");
UtecInterface.pullMapData(2, this); UtecInterface.pullMapData(2);
} }
else if (cmd.equals("Load Map #3")) { else if (cmd.equals("Load Map #3")) {
System.out.println("Starting to get map 3"); System.out.println("Starting to get map 3");
UtecInterface.pullMapData(3, this); UtecInterface.pullMapData(3);
} }
else if (cmd.equals("Load Map #4")) { else if (cmd.equals("Load Map #4")) {
System.out.println("Starting to get map 4"); System.out.println("Starting to get map 4");
UtecInterface.pullMapData(4, this); UtecInterface.pullMapData(4);
} }
else if (cmd.equals("Load Map #5")) { else if (cmd.equals("Load Map #5")) {
System.out.println("Starting to get map 5"); System.out.println("Starting to get map 5");
UtecInterface.pullMapData(5, this); UtecInterface.pullMapData(5);
} }
else if (cmd.equals("Load Map File")) { else if (cmd.equals("Load Map File")) {
@ -453,12 +457,6 @@ public class JutecGUI extends JFrame implements ActionListener,GetMapFromUtecLis
} }
public void mapRetrieved(UtecMapData theMap) {
System.out.println("@@@@@@@@@@@@@@@@@@ Got a map from the utec:" + theMap.getMapName());
this.currentMap = theMap;
DataManager.setCurrentMap(theMap);
}
public void keyPressed(KeyEvent arg0) { public void keyPressed(KeyEvent arg0) {
//System.out.println("Key Pressed"); //System.out.println("Key Pressed");
// System.out.println("Key Pressed:"+arg0.getKeyCode()+" :"+arg0.getKeyChar()+" :"+arg0.getModifiers()+" :"+(int)arg0.getKeyChar()); // System.out.println("Key Pressed:"+arg0.getKeyCode()+" :"+arg0.getKeyChar()+" :"+arg0.getModifiers()+" :"+(int)arg0.getKeyChar());

View File

@ -36,12 +36,23 @@ public class MapJPanel extends JPanel{
} }
this.tableModel = new UtecTableModel(this.mapType, initialData); this.tableModel = new UtecTableModel(this.mapType, initialData);
init(); if(this.mapType == MapJPanel.FUELMAP){
init(-8.0, 8.0);
}
if(this.mapType == MapJPanel.TIMINGMAP){
init(-1.0, 5.0);
}
if(this.mapType == MapJPanel.BOOSTMAP){
init(0.0, 500.0);
}
} }
public void init(){ public void init(double min, double max){
table = new UtecJTable(tableModel, mapType); table = new UtecJTable(tableModel, mapType, min, max);
//table.setPreferredScrollableViewportSize(new Dimension(500, 70)); //table.setPreferredScrollableViewportSize(new Dimension(500, 70));
//Create the scroll pane and add the table to it. //Create the scroll pane and add the table to it.

View File

@ -1,13 +1,26 @@
package enginuity.logger.utec.gui.mapTabs; package enginuity.logger.utec.gui.mapTabs;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.ListSelectionModel;
public class UtecJTable extends JTable{ public class UtecJTable extends JTable{
public UtecJTable(UtecTableModel theModel, int modelType){ public UtecJTable(UtecTableModel theModel, int modelType, double minValue, double maxValue){
super(theModel); super(theModel);
//this.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//this.getColumnModel().getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//this.setRowSelectionAllowed(false);
this.setCellSelectionEnabled(true);
//this.setColumnSelectionAllowed(false);
this.getSelectionModel().addListSelectionListener(new UtecSelectionListener(this));
this.setDefaultRenderer(Object.class, new UtecTableCellRenderer(minValue, maxValue));
// ************************
// Utec Specific code below
// ************************
if(modelType == MapJPanel.FUELMAP){ if(modelType == MapJPanel.FUELMAP){
System.out.println("Setting the fuel listener");
DataManager.setFuelListener(theModel); DataManager.setFuelListener(theModel);
} }
else if(modelType == MapJPanel.BOOSTMAP){ else if(modelType == MapJPanel.BOOSTMAP){
@ -19,7 +32,6 @@ public class UtecJTable extends JTable{
} }
public void updateData(double[][] newData){ public void updateData(double[][] newData){
System.out.println("Hi ya spanky");
((UtecTableModel)this.dataModel).replaceData(newData); ((UtecTableModel)this.dataModel).replaceData(newData);
} }
} }

View File

@ -0,0 +1,34 @@
package enginuity.logger.utec.gui.mapTabs;
import javax.swing.JTable;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class UtecSelectionListener implements ListSelectionListener{
private JTable parentTable = null;
public UtecSelectionListener(JTable parentTable){
this.parentTable = parentTable;
}
public void valueChanged(ListSelectionEvent event) {
//System.out.println("1: "+ event.getFirstIndex()+" 2: "+event.getLastIndex());
int selRow[] = parentTable.getSelectedRows();
int selCol[] = parentTable.getSelectedColumns();
for(int i = 0; i < selRow.length; i++){
//System.out.println("Row Value: "+selRow[i]);
}
for(int i = 0; i < selCol.length; i++){
//System.out.println("Col Value: "+selCol[i]);
}
//System.out.println("---------------------------");
Object[] selectedCells = new Object[selRow.length * selCol.length];
}
}

View File

@ -0,0 +1,40 @@
package enginuity.logger.utec.gui.mapTabs;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.vecmath.Color3f;
import com.ecm.graphics.tools.ColorTable;
public class UtecTableCellRenderer extends DefaultTableCellRenderer{
private double min;
private double max;
public UtecTableCellRenderer(double min, double max){
this.min = min;
this.max = max;
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col){
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
if(isSelected){
cell.setBackground(Color.BLUE);
}else{
if(value instanceof Double){
//System.out.println("Amount:"+(Double)value);
}
ColorTable.initColorTable(min, max);
Color3f theColor = ColorTable.getColor((Double)value);
cell.setBackground(new Color(theColor.x, theColor.y, theColor.z));
}
return cell;
}
}

View File

@ -20,6 +20,7 @@ public class UtecTableModel extends AbstractTableModel {
for (int i = 0; i < columnNames.length; i++) { for (int i = 0; i < columnNames.length; i++) {
columnNames[i] = i + ""; columnNames[i] = i + "";
} }
} }
public int getColumnCount() { public int getColumnCount() {

View File

@ -0,0 +1,13 @@
package enginuity.logger.utec.gui.mapTabs;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
public class UtecTableSelectionListener implements TableModelListener{
public void tableChanged(TableModelEvent arg0) {
// TODO Auto-generated method stub
}
}