[英]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.