swing的jtable增加序号列增加“序号”二字
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setRowHeaderView();
scrollPane.setColumnHeaderView();
行号和列号中间夹着的部分是空白。
行头和列头?水平表头和垂直表头?管他怎么叫,反正就是这个地方。困扰了很久。
找了半天,这个地方叫:标识视口的左上角
淦!!!!
/** Identifies the upper left corner of the viewport. */
String UPPER_LEFT_CORNER ="UPPER_LEFT_CORNER";
设置方法:
JLabel numberJLabel = new JLabel("序号");
scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, numberJLabel);
全部代码如下:
package GXBB.jreport.jbof.classes.BOFReportObject.Utils;
import javax.swing.border.Border;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.*;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Dimension;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class SimpleTableDemo extends JPanel {
public SimpleTableDemo() {
JTable table = new JTable(new MyTableModel());
JScrollPane scrollPane = new JScrollPane(table);
JTableHeader header = table.getTableHeader();
Border blackline = BorderFactory.createLineBorder(Color.gray);
JLabel numberJLabel = new JLabel("序号",0);
numberJLabel.setFont(header.getFont());
numberJLabel.setBorder(blackline);
scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, numberJLabel);
scrollPane.setRowHeaderView(new RowHeaderTable(table,100,table.getRowHeight()));
scrollPane.setPreferredSize(new Dimension(400, 100));
setLayout(new GridLayout(1, 0));
add(scrollPane);
}
class MyTableModel extends AbstractTableModel {
private String[] a = { "第一列" };
public int getColumnCount() {
return 1;
}
public int getRowCount() {
return 10;
}
public String getColumnName(int col) {
return a[col];
}
public Object getValueAt(int row, int col) {
return row + "," + col;
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.getContentPane().add("Center", new SimpleTableDemo());
frame.setSize(400, 300);
frame.setVisible(true);
}
}
加序号的代码是参考的下面的文章。
https://www.pudn.com/news/628f82ebbf399b7f351e5753.html