gpt4 book ai didi

java - 如何在JTable中设置标题

转载 作者:行者123 更新时间:2023-11-30 04:22:10 25 4
gpt4 key购买 nike

我是java新手,想在jtable中设置表头,我已经获取了数组,但无法设置表头,请指导我。我尝试通过 JTable 实例进行设置,但没有帮助。还尝试了table.setmodel。谢谢

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.table.JTableHeader;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.SAXException;

public class XmlGui extends JFrame {
public XmlGui() {
}

public static final String[] colNames = { " Name ", " Type ", " Value " };

public static void main(String[] args) throws SAXException, IOException,
ParserConfigurationException {

SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
XmlBack xmlBack = new XmlBack();
saxParser.parse(new File(
"File path"), xmlBack);
new XmlGui().drawFrame(xmlBack.varGroupVariables);
}

public void drawFrame(List<VarGroupVariable> varGroupVariables) {
setTitle("The Xml Parser");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setSize(800, 500);

JTabbedPane tabbedPane = new JTabbedPane();
JPanel jplInnerPanel1 = createInnerPanel();
jplInnerPanel1.setLayout(new BorderLayout());
//Vector<String> columnNames = new Vector<String>();

JTable table = new JTable();
table.setModel(new VarGroupVariableModel(varGroupVariables));

JScrollPane tableContainer = new JScrollPane(table);
jplInnerPanel1.add(tableContainer, BorderLayout.CENTER);
tabbedPane.addTab(" TABBEDPANE DEMO ", jplInnerPanel1);
getContentPane().add(tabbedPane);
setVisible(true);
}

protected JPanel createInnerPanel() {
JPanel jplPanel = new JPanel();
JLabel jlbDisplay = new JLabel();
jlbDisplay.setHorizontalAlignment(JLabel.CENTER);
jplPanel.setLayout(new GridLayout(1, 1));
jplPanel.add(jlbDisplay);
return jplPanel;
}

}

最佳答案

public static final String[] colNames = { " Name ", " Type ", " Value " };

您不能只定义包含列名称的变量。

您的 VarGroupVariableModel 必须正确实现 getColumnNames() 方法才能显示表头名称。所以上面的代码在某种程度上需要成为你的模型的一部分。

请参阅 How to Use Tables 上的 Swing 教程获取工作示例和更多信息。

关于java - 如何在JTable中设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16777228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com