当前位置: 技术问答>java相关
请问如何修改tabel中column的宽度。
来源: 互联网 发布时间:2015-04-15
本文导语: 我建立一个jTable对象table_1 生成一个4*4的表,现在需要第二列的宽度比别的列大,大约要100,请问如何设定。谢谢。希望能够举一个简单的例子。 | import java.awt.*; import java.awt.event.*; import ...
我建立一个jTable对象table_1 生成一个4*4的表,现在需要第二列的宽度比别的列大,大约要100,请问如何设定。谢谢。希望能够举一个简单的例子。
|
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import javax.swing.*;
import javax.swing.table.*;
public class Test extends JFrame
{
public Test(String s)
{
super(s);
init();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(screenSize.width / 2 - 200,
screenSize.height / 2 - 150);
setVisible(true);
}
String[][] data =
{
{"1", "2", "3"},
{"4", "5", "6"},
};
String[] header =
{
"c1", "c2", "c3"
};
JTextField tfWidth = new JTextField(10);
JButton button = new JButton("Change");
JTable table = new JTable(data, header);
JScrollPane scroller = new JScrollPane(table);
private void init()
{
JPanel top = new JPanel();
top.add(tfWidth);
top.add(button);
getContentPane().add(top, BorderLayout.NORTH);
getContentPane().add(scroller);
// table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// table.getTableHeader().setResizingAllowed(false);
button.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
int width = Integer.parseInt(tfWidth.getText());
TableColumn column = table.getColumn("c2");
column.setPreferredWidth(width);
table.revalidate();
table.repaint();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
);
}
public static void main(String args[])
{
// try
{
Test t = new Test("Table Test");
}
// catch (Exception e)
{
// e.printStackTrace();
}
}
}
以上程序在 jdk1.3.1 下通过.