[英]Table header isn't shown in the table
我想做一個記分板。 我正在使用表格來顯示數據。 數據會顯示,但表頭不會顯示。 我已經檢查過其他文章,並且我還放置了JScrollPane
。
import javax.swing.*;
public class Table {
JFrame car;
Table() {
car = new JFrame();
car.setTitle("Career");
car.setSize(500, 500);
car.setVisible(true);
car.setLayout(null);
String[] column = {"No.", "User Name", "Total Score"};
String row[][] = {{"101", "Amit", "670000"},
{"102", "Jai", "780000"},
{"101", "Sachin", "700000"}};
JTable jt = new JTable(row, column);
jt.setBounds(20, 100, 225, 200);
jt.setRowHeight(25);
JScrollPane sp = new JScrollPane(jt);
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
car.add(sp);
car.add(jt);
}
public static void main(String[] args) {
new Table();
}
}
在其他網站上,我在這里沒有看到任何丟失的代碼。 問題是什么?
car.add(jt);
. 表格在滾動窗格中,並且滾動窗格已添加到 GUIcar.setLayout(null);
& jt.setBounds(20,100,225,200);
. 空布局會搞砸很多事情,包括滾動窗格的工作方式。setVisible
,並調用pack()
。import javax.swing.*;
public class Table {
JFrame car;
Table() {
car = new JFrame();
car.setTitle("Career");
// this is just a guess. Add components then pack()
//car.setSize(500, 500);
//car.setLayout(null);
String[] column = {"No.", "User Name", "Total Score"};
String row[][] = {{"101", "Amit", "670000"},
{"102", "Jai", "780000"},
{"101", "Sachin", "700000"}};
JTable jt = new JTable(row, column);
//jt.setBounds(20, 100, 225, 200);
jt.setRowHeight(25);
JScrollPane sp = new JScrollPane(jt);
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
car.add(sp);
//car.add(jt);
car.pack();
// this statement should be last, immediately after pack()
car.setVisible(true);
}
public static void main(String[] args) {
new Table();
}
}
我找到了另一種方式,我得到了我想要的東西。
import javax.swing.*;
public class Table {
JFrame car;
Table() {
car = new JFrame();
car.setTitle("Career");
car.setSize(500, 500);
car.setVisible(true);
car.setLayout(null);
String[] column = {"No.", "User Name", "Total Score"};
String row[][] = {{"101", "Amit", "670000"},
{"102", "Jai", "780000"},
{"101", "Sachin", "700000"}};
JTable jt = new JTable(row, column);
jt.setRowHeight(25);
JScrollPane sp = new JScrollPane(jt);
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
sp.setBounds(20,100,225,200);
car.add(sp);
}
public static void main(String[] args) {
new Table();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.