如何設置JTable
列和行顏色?如何設置JTable列和行顏色?
4
A
回答
3
以下是短片example。
import java.awt.Color;
import java.awt.Component;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
public class JTableExample extends JFrame {
String data[][] = {{"John", "Sutherland", "Student"},
{"George", "Davies", "Student"},
{"Melissa", "Anderson", "Associate"},
{"Stergios", "Maglaras", "Developer"},
};
String fields[] = {"Name", "Surname", "Status"};
public static void main(String[] argv) {
JTableExample myExample = new JTableExample("JTable Example");
}
/**
* @param title
*/
public JTableExample(String title) {
super(title);
setSize(150, 150);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
dispose();
System.exit(0);
}
});
init();
pack();
setVisible(true);
}
private void init() {
final CustomCellRenderer renderer = new CustomCellRenderer();
JTable jt = new JTable(data, fields) {
@Override
public TableCellRenderer getCellRenderer(int row, int column) {
// TODO Auto-generated method stub
return renderer;
}
};
JScrollPane pane = new JScrollPane(jt);
getContentPane().add(pane);
}
/**
* @author suhas
*
*/
private class CustomCellRenderer extends DefaultTableCellRenderer {
/* (non-Javadoc)
* @see javax.swing.table.DefaultTableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
*/
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component rendererComp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
//Set foreground color
rendererComp.setForeground(Color.red);
//Set background color
rendererComp .setBackground(Color.blue);
return rendererComp ;
}
}
}
+3
請引用示例代碼的來源。 – trashgod 2010-08-23 18:28:13
1
回答一個心不在焉的提問者的模糊問題需要一些善意(和空閒時間)。
對於列,您可以設置一個單元格渲染器,將一個列上的DefaultTableCellRenderer
(它擴展了JLabel),然後設置渲染器的前景和背景。
對於行,您必須在單元格渲染器的getTableCellRendererComponent
中執行此操作。
如果您需要任何細節(例如備用行背景),您應該使用靈活的自定義渲染器。有無數的免費和商業表格組件提供着色和JTable應該具有的所有內容,例如JIDE Grids(不是免費但超級強大)。
相關問題
- 1. 使用TableCellRender設置JTable列和行的顏色
- 2. 在Jtable的一行中設置顏色
- 3. 使用JColorChooser設置JTable的行顏色
- 4. setSelectionBackGround()在jTable中沒有設置顏色
- 5. 如何更改JTable中的行顏色
- 6. JTable:如何在中心對齊數據或如何設置行背景顏色
- 7. JTable ..所選行的顏色
- 8. 更改顏色的JTable行
- 9. 如何設置JQGRID行背景顏色?
- 10. 如何設置JTableHeader外觀和顏色
- 11. 如何設置顏色
- 12. 設置系列顏色
- 13. 如何設置Listview備用行顏色和選定的項目背景顏色
- 14. 設置行背景顏色
- 15. 如何檢索在運行時設置的顏色列表
- 16. 如何設置libgdx列表中特定行的顏色?
- 17. 如何設置選定的DataGrid行的列邊框顏色?
- 18. 如何設置網格/行列的邊框/背景顏色
- 19. 如何設置替代行的顏色和的jqGrid
- 20. 如何在WPF Grid中設置行邊框和背景顏色
- 21. 如何設置顏色位置「0」 ExpandableListview
- 22. Openpyxl:將背景顏色設置爲行和列屬性錯誤
- 23. JTable中如何更改背景顏色
- 24. 如何在JTable/JXTable中設置列寬?
- 25. 如何在JTable列中設置圖標?
- 26. JTable中列中的顏色單元格
- 27. 如何在DataFrame列對圖進行着色時設置每個值的顏色?
- 28. 顏色的另一種顏色的JTable中選擇行
- 29. 如何設置JTable的行大小?
- 30. 在JTable中改變行的顏色
編輯;如果不正確請回復。 – trashgod 2010-08-23 15:59:09
另請參閱http://download.oracle.com/javase/tutorial/uiswing/components/table.html – trashgod 2010-08-23 15:59:56
@lalchand:您已經得到了有用的答案,可以使用一些注意事項以及以前的問題。 – trashgod 2010-08-23 16:05:58