我有一個使用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