在java中设置表格的背景颜色

mac2022-06-30  70

import java.awt.BorderLayout; import java.awt.Color; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; public class ExampleFrame02 extends JFrame { public static void main(String[] args) { ExampleFrame02 frame = new ExampleFrame02(); frame.setVisible(true); } public ExampleFrame02() { super(); setBounds(100, 100, 250, 150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭表的列的自动调整功能 final JScrollPane scrollpane = new JScrollPane(); getContentPane().add(scrollpane, BorderLayout.CENTER); String[] columnNames = { "A", "B", "C", "D", "E", "F" }; Vector columnNameV = new Vector(); for (int column = 0; column < columnNames.length; column++) { columnNameV.add(columnNames[column]); } Vector tableValuesV = new Vector(); for (int row = 1; row < 22; row++) { Vector rowV = new Vector(); for (int column = 0; column < columnNames.length; column++) { rowV.add(columnNames[column] + row); } tableValuesV.add(rowV); } JTable table = new MTable(tableValuesV, columnNameV); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); table.setBackground(Color.YELLOW); table.setSelectionForeground(Color.RED); table.setRowHeight(50); scrollpane.setViewportView(table); } private class MTable extends JTable { public MTable(Vector rowDate, Vector columnNames) { super(rowDate, columnNames); } public JTableHeader getTableHeader() { JTableHeader tableHeader = super.getTableHeader(); tableHeader.setResizingAllowed(false); DefaultTableCellRenderer hr = (DefaultTableCellRenderer) tableHeader .getDefaultRenderer(); hr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER); return tableHeader; } public TableCellRenderer getdefaultCellRenderer(Class<?> columnClass) { DefaultTableCellRenderer cr = (DefaultTableCellRenderer) super .getDefaultRenderer(columnClass); cr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER); return cr; } public boolean IscelleditTable(int row, int colunmn) { return false; } } }

 

转载于:https://www.cnblogs.com/maxiaoyan123-com/archive/2013/05/09/3069244.html

最新回复(0)