首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java JTable抽象模型中右对齐数字字段

在Java JTable抽象模型中右对齐数字字段
EN

Stack Overflow用户
提问于 2011-01-25 03:28:20
回答 2查看 1.3K关注 0票数 1

有人知道如何将数据集中在JTableabstract数据模型中吗?

默认设置似乎是右对齐。

EN

回答 2

Stack Overflow用户

发布于 2011-01-25 03:52:56

这是您不能从表格模型中更改的东西,它是由单元格渲染器控制的。

看看这个取自Code Ranch的例子

代码语言:javascript
复制
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);  
   }  
}  
票数 0
EN

Stack Overflow用户

发布于 2011-01-25 03:58:05

我假设您所说的“抽象数据模型”是指AbstractTableModel类。这实际上不是处理对齐的正确位置。表格模型表示表格背后的“模型”。你要做的是修改这个模型在屏幕上的显示方式(“视图”)。

执行此操作的适当方法是为JTable创建自定义呈现。在本例中,您可以扩展DefaultTableCellRenderer类并覆盖getTableCellRenderer来设置返回组件的水平对齐方式。有关自定义渲染器的更多信息- http://download.oracle.com/javase/tutorial/uiswing/components/table.html#renderer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4786196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档