Java JTable:有默认的单元格对齐技术吗?

发布于 2024-10-11 09:45:47 字数 157 浏览 3 评论 0原文

我有一个包含 9 列的 JTable,并且我知道我可以为每列创建自定义单元格渲染器,但每个渲染器需要大约 8 行代码。

但我真正需要的只是将所有单元格中的文本显示为右对齐。有什么办法可以为整个表格设置这种对齐方式吗?

预先感谢您的任何建议。

约翰·多纳

I have a JTable with 9 columns, and I know I can create custom cell renderers for each column, at the expense of about 8 lines of code per renderer.

But all I really need is to display text placed in all cells as right-justified. Is there any way to set this alignment for the whole table?

Thanks in advance for any suggestions.

John Doner

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

划一舟意中人 2024-10-18 09:45:47

试试这个:

for (int i = 0; i < myTable.getModel().getRowCount(); i++) {
   for (int j = 0; j < myTable.getModel().getColumnCount(); j++) {
      DefaultTableCellRenderer renderer =
         (DefaultTableCellRenderer)myTable.getCellRenderer(i, j);
      renderer.setHorizontalAlignment(JTextField.RIGHT);
   } // End for(j)
} // End for(i)

由于每个单元格已经有一个渲染器,因此从 TableModel 获取每个单元格现有的 TableCellRenderer 并使用内置方法 setHorizo​​ntalAlignment(int) 继承自 JLabel

希望这就是您正在寻找的!

Try this:

for (int i = 0; i < myTable.getModel().getRowCount(); i++) {
   for (int j = 0; j < myTable.getModel().getColumnCount(); j++) {
      DefaultTableCellRenderer renderer =
         (DefaultTableCellRenderer)myTable.getCellRenderer(i, j);
      renderer.setHorizontalAlignment(JTextField.RIGHT);
   } // End for(j)
} // End for(i)

Since each cell already has a renderer, this grabs each cell's existing TableCellRenderer from the TableModel and uses the built-in method setHorizontalAlignment(int) inherited from JLabel.

Hope that's what you're looking for!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文