我有一个使用TableModel创建的JTable我想为它添加标题。我希望有像t.setTitle(graphTitle);
这样的东西,但我无法找到任何东西。我不介意标题是位于桌面还是桌子下方。 我正在使用JLabels,但它看起来很乱。向JTable添加标题
任何人都可以帮忙吗? 提前喝彩
我有一个使用TableModel创建的JTable我想为它添加标题。我希望有像t.setTitle(graphTitle);
这样的东西,但我无法找到任何东西。我不介意标题是位于桌面还是桌子下方。 我正在使用JLabels,但它看起来很乱。向JTable添加标题
任何人都可以帮忙吗? 提前喝彩
您可以考虑的另一个选择是将JTable
包含在JPanel
中,并将TitledBorder
设置为JPanel
。
像这样:
import javax.swing.*;
import javax.swing.border.TitledBorder;
public class TableTitle
{
public TableTitle()
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
JPanel panel = new JPanel();
panel.setBorder (BorderFactory.createTitledBorder (BorderFactory.createEtchedBorder(),
"Table Title",
TitledBorder.CENTER,
TitledBorder.TOP));
JTable table = new JTable (3, 3);
panel.add (table);
frame.add (panel);
frame.setLocationRelativeTo (null);
frame.pack();
frame.setVisible (true);
}
public static void main (String[] args)
{
SwingUtilities.invokeLater (new Runnable()
{
@Override public void run()
{
TableTitle t = new TableTitle();
}
});
}
}
它看起来像这样:
我不认为你在这里有太多的选择。 JTable没有添加标题栏的功能。 所以使用JLabel或其他组件是您唯一的选择。 尝试将JTable放入JTabbedPane中。
你将不得不当你实例化你的DefaultTableModel,将其添加:
String data[][] = {{"Vinod","MCA","Computer"},
{"Deepak","PGDCA","History"},
{"Ranjan","M.SC.","Biology"},
{"Radha","BCA","Computer"}};
String col[] = {"Name","Course","Subject"};
DefaultTableModel model = new DefaultTableModel(data,col);
table = new JTable(model);
如果它已经存在,你可以做这样的事情:
礼貌的 RoseIndia.net
ChangeName(table,0,"Stu_name");
ChangeName(table,2,"Paper");
public void ChangeName(JTable table, int col_index, String col_name){
table.getColumnModel().getColumn(col_index).setHeaderValue(col_name);
}
希望这有助于。
您还可以添加标题这是铭刻JTable中JScrollPane的。
代码:
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBorder(BorderFactory.createTitledBorder ("Table Title"));
将装有JTable中JScrollPane的上述一个JLabel看起来像我的最好和最简单的解决方案。它为什么看起来凌乱? – 2012-03-02 12:18:03