有人知道如何将数据集中在JTableabstract数据模型中吗?
默认设置似乎是右对齐。
发布于 2011-01-25 03:52:56
这是您不能从表格模型中更改的东西,它是由单元格渲染器控制的。
看看这个取自Code Ranch的例子
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class AlignRight
{
public static void main(String[] args)
{
String[] headers = { "column 1", "column 2", "column 3", "column 4" };
int cols = 4;
int rows = 6;
String[][] data = new String[rows][cols];
for(int row = 0; row < rows; row++)
for(int col = 0; col < cols; col++)
data[row][col] = "item " + (row * cols + col + 1);
JTable table = new JTable(data, headers);
DefaultTableCellRenderer renderer =
(DefaultTableCellRenderer)table.getDefaultRenderer(String.class);
renderer.setHorizontalAlignment(JLabel.RIGHT);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new JScrollPane(table));
f.setSize(400,400);
f.setLocation(200,200);
f.setVisible(true);
}
} 发布于 2011-01-25 03:58:05
我假设您所说的“抽象数据模型”是指AbstractTableModel类。这实际上不是处理对齐的正确位置。表格模型表示表格背后的“模型”。你要做的是修改这个模型在屏幕上的显示方式(“视图”)。
执行此操作的适当方法是为JTable创建自定义呈现。在本例中,您可以扩展DefaultTableCellRenderer类并覆盖getTableCellRenderer来设置返回组件的水平对齐方式。有关自定义渲染器的更多信息- http://download.oracle.com/javase/tutorial/uiswing/components/table.html#renderer
https://stackoverflow.com/questions/4786196
复制相似问题