Java JTable抽象模型中的右对齐数字字段
有人知道如何在JTableabstract数据模型中集中数据吗Java JTable抽象模型中的右对齐数字字段,java,swing,jtable,Java,Swing,Jtable,有人知道如何在JTableabstract数据模型中集中数据吗 默认设置似乎是右对齐。这是无法从表格模型更改的,它由单元格渲染器控制 请看以下示例: 我假设通过抽象数据模型,您指的是AbstractTableModel类。事实上,这不是处理理由的正确位置。表格模型表示表格后面的模型。您要做的是修改此模型在视图中的显示方式 执行此操作的适当方法是为JTable创建自定义渲染。在本例中,可以扩展DefaultTableCellRenderer类并覆盖getTableCellRenderer以设置返回
默认设置似乎是右对齐。这是无法从表格模型更改的,它由单元格渲染器控制 请看以下示例:
我假设通过抽象数据模型,您指的是AbstractTableModel类。事实上,这不是处理理由的正确位置。表格模型表示表格后面的模型。您要做的是修改此模型在视图中的显示方式
执行此操作的适当方法是为JTable创建自定义渲染。在本例中,可以扩展DefaultTableCellRenderer类并覆盖getTableCellRenderer以设置返回组件的水平对齐方式。有关自定义渲染器的更多信息-谢谢,OK将决定下一步要做什么。
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);
}
}