나는 색상을 얻을 때 의미 내가 만든 테이블 모델에서을 getValue 메소드를 오버라이드 (override)하지 않은 그래서색상 값을 조작하는 방법은 무엇입니까?
table http://www.freeimagehosting.net/newuploads/fjuzi.png
처럼, 인수 중 하나가 색상 테이블을 만들었습니다 값은 객체로옵니다.
java.awt.Color[r=255,g=0,b=0]
여기 단지의 경우, 내 테이블 모델의 : 테이블에서
private static final Object[][] DATA = {
{ "1", "Task 1", new Integer(10), false, new Integer(0), Color.red },
{ "2", "Task 2", new Integer(10), false, new Integer(0), Color.blue },
{ "3", "Task 3", new Integer(10), false, new Integer(0),
Color.green },
{ "4", "Task 4", new Integer(10), false, new Integer(0),
Color.orange },
{ "5", "Task 5", new Integer(10), false, new Integer(0),
Color.black } };
private MyTableModel myTableModel = new MyTableModel(DATA);
class MyTableModel extends DefaultTableModel {
private static final String[] COLUMN_NAMES = { "Station #", "Name",
"avg Time", "Buffer", "Buffer Parts", "Color" };
public MyTableModel(Object[][] data) {
super(data, COLUMN_NAMES);
}
@Override
public Class getColumnClass(int c) {
//System.out.println("Class for " + c + ": " + getValueAt(0, c).getClass().toString());
return getValueAt(0, c).getClass();
}
@Override
public boolean isCellEditable(int row, int col) {
if (col == 0) {
return false;
} else if (col == 4) {
boolean di = (Boolean) getValueAt(row, (col - 1));
if (!di) {
return false;
} else {
return true;
}
} else {
return true;
}
}
public void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
for (int i = 0; i < numRows; i++) {
System.out.print(" row " + i + ":");
for (int j = 0; j < numCols; j++) {
Object datum = getValueAt(i, j);
// System.out.print(" " + data[i][j]);
System.out.print(" " + datum);
}
System.out.println();
}
System.out.println("--------------------------");
}
}
모든 값이 HashMaps을에 저장됩니다 내가 개체 또는 문자열로 저장하면 내가 값으로 얻을 것이다 그것들은 테이블에 설정된 색을 저장하기 위해 색 벡터를 생성해야하는 다른 클래스로 전달됩니다.
Station 1=[1, Task 1, 10, false, 0, java.awt.Color[r=255,g=0,b=0]]
Station 2=[2, Task 2, 10, false, 0, java.awt.Color[r=0,g=0,b=255]]
Station 3=[3, Task 3, 10, false, 0, java.awt.Color[r=0,g=255,b=0]]
Station 4=[4, Task 4, 10, false, 0, java.awt.Color[r=255,g=200,b=0]]
Station 5=[5, Task 5, 10, false, 0, java.awt.Color[r=0,g=0,b=0]]
나는 주위를 둘러 보았다했지만 정보를 찾을 수 없습니다, 그래서 내가 값이 전달되는 사용되는 색상을 저장할 수 있습니다 그것을 처리하는 가장 좋은 방법은 무엇인가?
다른 정보가 필요하면 알려주세요.
나는 그것에 대해 몰랐다. 그러나 어떻게 그 값으로 색상 벡터를 채울 수 있습니까? 이렇게하면 "NoSuchElementException"이 발생합니다. private static Color colorsstation [] = null; 색상 cor = (색상) keyvaluesIterator.next(); colorsstation [i] = cor; –
@ Luis Afonso Teixeira 왜 JTables 셀에 색상을 가져오고 가져 가야하는지에 대한 이유만으로 대답이 더 구체적 일 수 있습니다 :-) – mKorbel
그 테이블에서 값을 가져 와서 해시 맵을 다른 클래스로 가져와 내가 어떤 것을 그릴거야. 거기, 나는 그 클래스에서 드로잉 할 직사각형의 색상을 정의하기 위해 전달 된 색상을 수집하려고합니다! 희망이 지금 내 자신을 분명하게 만들었습니다 : –