为什么表格顶部有A?
我将一个JTable放在JScrollPane中以使其可滚动。 我需要放置哪些方法? 我没有放一封字母A,所以我无法跟踪。
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.BoxLayout;
import javax.swing.JTable;
import javax.swing.border.LineBorder;
import java.awt.Color;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
public class Rawr {
private JFrame frame;
private JScrollPane scrollPane;
private JTable table;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Rawr window = new Rawr();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Rawr() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.CENTER);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
scrollPane = new JScrollPane();
scrollPane.setToolTipText("");
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(scrollPane);
table = new JTable(100, 1);
table.setBorder(new LineBorder(new Color(0, 0, 0)));
scrollPane.setViewportView(table);
}
}
如何删除它?谢谢!
答案 0 :(得分:1)
使用以下命令显式设置列名称:
String[] colNames = new String[]{"Your Column Name"};
DefaultTableModel defaultTableModel = new DefaultTableModel(colNames, 100);
table = new JTable(defaultTableModel);
如果使用new JTable(100, 1)
创建表格,您会看到A
,B
等列标题,因为构造函数javadoc说:
使用
JTable
构建numRows
个numColumns
和DefaultTableModel
个空单元格。
由于JTable
构造函数没有关于列标题的任何信息。它只能创建一个不知道任何列标题名称的DefaultTableModel
。
DefaultTableModel
扩展AbstractTableModel
,AbstractTableModel.getColumnName()
的javadoc说
使用电子表格约定返回列的默认名称:A,B,C,... Z,AA,AB等。如果找不到
column
,则返回空字符串。
答案 1 :(得分:0)
在创建表格后添加以下代码。
String [] columns = new String [] {“Column Name”}; ((的DefaultTableModel)table.getModel())setColumnIdentifiers(列);
答案 2 :(得分:0)
如何删除它?
JTable旨在显示带有标题的数据,以描述列中的数据。
由于您只有一列数据,如果您不想要标题,则不要使用JTable。相反,您可以使用JList
。
阅读How to Use Lists上Swing教程中的部分,了解更多信息和示例。