JAVA 问题,求指教
packagecom;importjava.awt.*;importjavax.swing.*;importjavax.swing.table.JTableHeader;...
package com;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.JTableHeader;
public class ExampleFrame_01 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public static void main(String args[]) {
ExampleFrame_01 frame = new ExampleFrame_01();
frame.setVisible(true);
}
public ExampleFrame_01() {
super();
setTitle("创建可以滚动的表格");
setBounds(100, 100, 240, 150);
setLayout(new FlowLayout(2,10,10));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] columnNames = { "A", "B" }; // 定义表格列名数组
// 定义表格数据数组
String[][] tableValues = { { "A1", "B1" }, { "A2", "B2" },
{ "A3", "B3" }, { "A4", "B4" }, { "A5", "B5" } };
// 创建指定列名和数据的表格
JTable table = new JTable(tableValues, columnNames);
// 创建显示表格的滚动面板
JTableHeader tableHeader=table.getTableHeader();
// 将滚动面板添加到边界布局的中间
getContentPane().add(tableHeader, BorderLayout.CENTER);
}
}
为什么只有表头,没有数据? 展开
import java.awt.*;
import javax.swing.*;
import javax.swing.table.JTableHeader;
public class ExampleFrame_01 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public static void main(String args[]) {
ExampleFrame_01 frame = new ExampleFrame_01();
frame.setVisible(true);
}
public ExampleFrame_01() {
super();
setTitle("创建可以滚动的表格");
setBounds(100, 100, 240, 150);
setLayout(new FlowLayout(2,10,10));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] columnNames = { "A", "B" }; // 定义表格列名数组
// 定义表格数据数组
String[][] tableValues = { { "A1", "B1" }, { "A2", "B2" },
{ "A3", "B3" }, { "A4", "B4" }, { "A5", "B5" } };
// 创建指定列名和数据的表格
JTable table = new JTable(tableValues, columnNames);
// 创建显示表格的滚动面板
JTableHeader tableHeader=table.getTableHeader();
// 将滚动面板添加到边界布局的中间
getContentPane().add(tableHeader, BorderLayout.CENTER);
}
}
为什么只有表头,没有数据? 展开
展开全部
你的程序最后两句有问题,我帮你改过来了,你看看吧,改动的地方见注释.
package com;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.JTableHeader;
public class ExampleFrame_01 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public static void main(String args[]) {
ExampleFrame_01 frame = new ExampleFrame_01();
frame.setVisible(true);
}
public ExampleFrame_01() {
super();
setTitle("创建可以滚动的表格");
setBounds(100, 100, 240, 150);
setLayout(new FlowLayout(2,10,10));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] columnNames = { "A", "B" }; // 定义表格列名数组
// 定义表格数据数组
String[][] tableValues = { { "A1", "B1" }, { "A2", "B2" },
{ "A3", "B3" }, { "A4", "B4" }, { "A5", "B5" } };
// 创建指定列名和数据的表格
JTable table = new JTable(tableValues, columnNames);
// 创建显示表格的滚动面板
//JTableHeader tableHeader=table.getTableHeader();//这一句注释掉
JScrollPane jsp=new JScrollPane(table);//这里加一句
// 将滚动面板添加到边界布局的中间
getContentPane().add(jsp, BorderLayout.CENTER);//这一句改一下把tableHeader改成jsp
}
}
package com;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.JTableHeader;
public class ExampleFrame_01 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public static void main(String args[]) {
ExampleFrame_01 frame = new ExampleFrame_01();
frame.setVisible(true);
}
public ExampleFrame_01() {
super();
setTitle("创建可以滚动的表格");
setBounds(100, 100, 240, 150);
setLayout(new FlowLayout(2,10,10));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] columnNames = { "A", "B" }; // 定义表格列名数组
// 定义表格数据数组
String[][] tableValues = { { "A1", "B1" }, { "A2", "B2" },
{ "A3", "B3" }, { "A4", "B4" }, { "A5", "B5" } };
// 创建指定列名和数据的表格
JTable table = new JTable(tableValues, columnNames);
// 创建显示表格的滚动面板
//JTableHeader tableHeader=table.getTableHeader();//这一句注释掉
JScrollPane jsp=new JScrollPane(table);//这里加一句
// 将滚动面板添加到边界布局的中间
getContentPane().add(jsp, BorderLayout.CENTER);//这一句改一下把tableHeader改成jsp
}
}
更多追问追答
追问
可是我的初衷是不想使用滚动面板,直接将表格加到容器中
追答
那你就把getContentPane().add(tableHeader, BorderLayout.CENTER);
改成getContentPane().add(table, BorderLayout.CENTER);不过这样,没有表头
都是把table放入JScrollPane中才能完整显示.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询