0
我想在Jtable Java中爲單元格着色?像這樣的圖片:我想在Jtable Java中爲單元格着色?
可以sameone幫我謝謝!
代碼我想最後
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
public class Main
{
/**
* @param args
*/
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.add(new JComboxTable(), BorderLayout.NORTH);
frame.setVisible(true);
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class JComboxTable extends JTable
{
public static JComboBox cb;
public JComboxTable()
{
TableModel tree = new TableModel();
TableRenderer render = new TableRenderer();
setModel(tree);
setDefaultRenderer(Object.class, render);
tree.fireTableDataChanged();
}
}
class TableModel extends AbstractTableModel
{
public int getColumnCount()
{
return 2;
}
public int getRowCount()
{
return 5;
}
@Override
public Class<?> getColumnClass(int columnIndex)
{
if (columnIndex == 0)
{
return String.class;
}
else
{
return Color.class;
}
}
public Object getValueAt(int rowIndex, int columnIndex)
{
if (columnIndex == 0)
{
return "Salut" + rowIndex;
}
else
{
if((rowIndex % 2) == 0)
{
return Color.RED ;
}else
{
return Color.BLUE ;
}
}
}
}
class TableRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
{
if (value instanceof Color)
{
setBackground((Color) value);
setText("");
}
else
{
setBackground((Color)table.getModel().getValueAt(row, 1));
setText( (String)value);
}
return this;
}
}
}
純粹的代碼寫入請求是關於堆棧溢出題外話題 - 我們期望 這裏的問題與*特定的*編程問題有關 - 但我們 會很樂意幫助你自己寫!告訴我們 [你試過的東西](http://stackoverflow.com/help/how-to-ask),以及你卡在哪裏。 這也將幫助我們更好地回答你的問題。 –