当前位置: 首页 > 知识库问答 >
问题:

在java中设置JTable中一行的高度

沈高峻
2023-03-14

我一直在寻找一种能够增加JTable中的行高度的解决方案。我一直在使用setRowHeight(int)方法,该方法编译并运行正常,但没有增加行数。当我使用我设置高度的行的getRowHeight(int)方法时,它会打印出我将行增加到的大小,因此我不确定出了什么问题。下面的代码粗略地说明了我是如何解决这个问题的。

我的类扩展了JFrame。

String[] columnNames = {"Column 1", "Column 2", "Column 1 3"};

JTable table = new JTable(new DefaultTableModel(columnNames, people.size()));

DefaultTableModel model = (DefaultTableModel) table.getModel();

int count =1;
for(Person p: people)
{
    model.insertRow(count,(new Object[]{count, p.getName(), p.getAge()+"", 
    p.getNationality}));
    count++;
}

table.setRowHeight(1, 15);//Try set height to 15 (I've tried higher)

谁能告诉我哪里出了问题?我正在尝试将第1行的高度增加到15像素?

共有3个答案

谷梁卓
2023-03-14

在JFrame中右键单击JTable,然后单击Properties。向下滚动并设置行高值。

岳刚洁
2023-03-14

不确定将索引0处的第一行保留为空的目的是什么。JTable中的行从索引0运行。最好能发布一个完整的示例(即SSCCE)来演示这些问题。与此简单的正常工作示例相比:

import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class DemoTable {
    private static void createAndShowGUI() {
        JFrame frame = new JFrame("DemoTable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        DefaultTableModel model = new DefaultTableModel();
        model.setColumnIdentifiers(new Object[] {
                "Column 1", "Column 2", "Column 3" });

        JTable table = new JTable(model);
        for (int count = 0; count < 3; count++){
            model.insertRow(count, new Object[] { count, "name", "age"});
        }
        table.setRowHeight(1, 30);

        frame.add(new JScrollPane(table));
        frame.setLocationByPlatform(true);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String args[]) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}
王才
2023-03-14

您可以使用:

表格。设置行高(int par1)

或者,如果要为特定行设置行高,请使用:

table.setRowHeight(int par1, int par2);

 类似资料:
  • 我的Java 8小程序连接到一个SQL数据库,并在一个中显示“SELECT”语句的结果,该语句包含两列: 如果第1/columna行中的字符串与第0/columna行中的字符串不相同,我希望给第1行一个灰色背景色(以标记“新”数据的开始),其他行应该使用默认的白色。 创建表的代码: 获取数据并填充表: 根据我到目前为止的发现,我必须使用一个自定义的来代替我在开始时设置的但是我该如何使用它呢?我发现

  • 问题内容: 呈现HTML SELECT时,IE似乎忽略了CSS中设置的高度。是否有任何解决方法,还是我们必须接受IE不会像其他浏览器那样好? 问题答案: 除了放弃元素之外,没有其他解决方法。

  • 问题内容: 我正在尝试设置Swing Jtable的行的颜色。我用这个类来扩展Jtable,就像网上建议的那样。 我只是添加了方法来初始化所有具有相同颜色的行。 它在第一次使用时就可以正常工作,但是当我想更改颜色时会遇到问题。例如,如果我在按钮动作侦听器中执行以下代码,则仅在第一次迭代时就为表正确上色,而之后再也不会更改背景。 有谁知道这可能是什么? 谢谢,Ste 问题答案: 例如,

  • 我的回收物品在onCreateViewHolder中膨胀 我想展示这样的东西,其中一排的高度是回收站视图的一半?在空间的其余部分添加填充物?我可以通过GridLayoutManager来完成吗? 这是我的GridLayoutManager

  • 问题内容: 首先,我要说的不是关于渲染表格单元。 这是我基于数据库中的对象使用2D数组构建的TableModel 。 我的问题是如何使用表中的选定行取回对象。请注意,我无法创建新对象并用行数据填充它。我必须获取查询的对象(中的对象)。那么,他们用表行设置Object的任何方法吗? 这是我的课。 问题答案: 无需在创建模型之前拆分对象,而是将其直接添加到模型中并允许模型为您完成工作… 例如 这样,您

  • 问题内容: 我能够设置列的标题,但不能在JTable第一列的所有行中设置图标。 和下面的BuildTable()方法中的行。 我们如何为第一列的所有行设置它?我已经尝试过for循环,但没有让行迭代来设置图标。还是还有其他方法? 问题答案: 无需创建自定义渲染。JTable已经支持Icon渲染器。您只需要告诉表使用此渲染器即可。这是通过重写表模型的getColumnClass(…)方法来完成的:

  • 问题内容: 我想将String放入比给定单元格宽度更长的字符串中。如何动态设置,以便可以读取整个String?这是一个例子: 在这里,您将看到将给定单元格较长的每个文本换行的代码 谢谢,但是我想根据字符串的长度动态地实现RowHeight。我想读取单元格中的整个字符串/文本。有什么建议? 我是Java初学者,这是我的第一个问题。我很高兴得到答案。 问题答案: 使用JTextArea作为呈现组件时会

  • 我想用chart.js绘制一个水平条形图,但它一直在缩放图表,而不是使用我在脚本中为画布分配的高度。 有没有办法从脚本中设置图形的高度? 参见fiddle:Jsfidle HTML JavaScript