JTable
列名「User」とテストデータ「data」でを作成しようとしましたが、列名が印刷されません。
String [] [] data = {{"hallo","hallo","","","",""},
{"hallo","hallo","","","",""}};
String [] User = {"ID","Benutzername", "Name", "Vorname", "Geburtsdatum", "Wirt"};
tableUsers = new JTable(data,User);
tableUsers.setPreferredScrollableViewportSize(new Dimension(500,50));
tableUsers.setFillsViewportHeight(true);
//add(new JScrollPane(tableUsers));
JTableHeader header = tableUsers.getTableHeader();
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(header, BorderLayout.NORTH);
panel.add(tableUsers, BorderLayout.CENTER);
JScrollPane scrollPane = new JScrollPane(tableUsers);
add(scrollPane);
tableUsers.setBounds(29, 245, 580, 136);
contentPane.add(tableUsers);
テーブルをJPanelパネルに追加してから、パネルをスクロールペインに追加します。したがって、スクロールペインにはテーブルが含まれています。次に、コンテンツペインにスクロールペインを追加する必要があります。tableUsersを複数のアイテムに追加しないでください。
編集:別の問題が発生していると思いますので、実行とテストに使用したコード全体を追加します。
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.JTableHeader;
public class Test {
/**
* Do this for thread safety
* @param args
*/
public static void main (String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createGUI();
}
});
}
/**
* create the JFrame
*/
private static void createGUI() {
JFrame jf = new JFrame();
addComponents(jf.getContentPane());
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.pack();
}
/**
* add the components
* @param pane
*/
private static void addComponents(Container pane) {
String [] [] data = {{"hallo","hallo","","","",""}, {"hallo","hallo","","","",""}};
String [] User = {"ID","Benutzername", "Name", "Vorname", "Geburtsdatum", "Wirt"};
JTable tableUsers = new JTable(data,User);
tableUsers.setPreferredScrollableViewportSize(new Dimension(500,50));
tableUsers.setFillsViewportHeight(true);
//add(new JScrollPane(tableUsers));
JTableHeader header = tableUsers.getTableHeader();
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(header, BorderLayout.NORTH);
panel.add(tableUsers, BorderLayout.CENTER);
JScrollPane scrollPane = new JScrollPane(panel);
pane.add(scrollPane);
tableUsers.setBounds(29, 245, 580, 136);
//pane.add(tableUsers);
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加