区别:之前是直接
String column = {"姓名","年龄","性别"};---表头
String content = {{"张三","58","男"},{"李四","56","男"},{"王五","12","女"}};---内容
JTable jtable = new JTable(content ,column
);
之后是:
将每个人的每个属性存到Vector的数组中,将数组放到表格中,(将表格放到 JScrollPane中),将JScrollPane放到内容窗格上。
PS:不能直接将表格放到内容窗格上,因为无法显示表头(原因:我不知道)
代码------------------------------------------------------------------
package com.software.GUI;
import java.awt.BorderLayout;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
class Person {
private String name;
private int age;
private String sex;
public Person (String name,int age,String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
class Jframe {
private JFrame jFrame;
private JPanel jPanel;
private JTable jTable;
private JScrollPane jScrollPane;
public void name() {
jFrame = new JFrame("好难啊");
jPanel = new JPanel(new BorderLayout());
Person person1 = new Person("张三", 18, "男");
Person person2 = new Person("李四", 16, "女");
Person person3 = new Person("王五", 18, "男");
Vector
row1.add(person1.getName());
row1.add(person1.getAge());
row1.add(person1.getSex());
Vector
row2 = new Vector();
row2.add(person2.getName());
row2.add(person2.getAge());
row2.add(person2.getSex());
Vector
row3 = new Vector();
row3.add(person3.getName());
row3.add(person3.getAge());
row3.add(person3.getSex());
Vector
content = new Vector();
Vector column = new Vector();
content.add(row1);
content.add(row2);
content.add(row3);
column.add("姓名");
column.add("年龄");
column.add("性别");
jTable = new JTable(content,column);
jScrollPane = new JScrollPane(jTable);
jPanel.add(jScrollPane,BorderLayout.CENTER);
jFrame.setVisible(true);
jFrame.setSize(300,200);
jFrame.setContentPane(jPanel);
jFrame.setLocationRelativeTo(null);
jFrame.setAlwaysOnTop(true);
}
}
public final class TableVector {
public static void main(String[] args) {
new Jframe().name();
}
}
截图-----------------------------------------------------------------------