相关疑难解决方法(0)

如何实现具有可变行高的jtable

以前的两个问题(这里这里)的答案都没有解决我的问题.

我有一个多列jtable,我希望根据字符串中的换行符("\n")在单元格中的多行显示某些列的字符串内容.每个字符串的换行符数是随机的,仅在运行时才知道.只有受影响的行必须跨所有列调整到新高度.每个受影响的列可能有不同数量的行,并且需要将行高调整为跨列的最大高度.

我该怎么做呢?
如果可能的话,我们非常感谢一些示例代码.
TIA

java jtable row-height

11
推荐指数
1
解决办法
5312
查看次数

JTable动态更改行高

我无法动态更改我的行的高度,有一个方法,我需要重载?

- 编辑 -

很抱歉这是我的第一篇短信....我的问题与改变行高有关,具体取决于内容.所以我到目前为止所做的是一个实现TabelCellRenderer的内部类.

这就是我目前正在进行的行高计算.

  private static class TextAreaRenderer extends JTextPane implements TableCellRenderer
  {


  public Component getTableCellRendererComponent(JTable table, Object value,
                                                 boolean isSelected,
                                                 boolean hasFocus, int row,
                                                 int column)
  {
      /* Setup Code here */

      this.setText(((String)value).getEntityName());
      int height = new Double(this.getPreferredSize().getHeight()).intValue();
      if (table.getRowHeight(row) < height)
          table.setRowHeight(row, height);

      /* some more code */

      return this;
  }
Run Code Online (Sandbox Code Playgroud)

}

这是正确的方法吗?谢谢.

java height row jtable

9
推荐指数
1
解决办法
2万
查看次数

如何在JTable中动态设置RowHeight

我想把一个字符串放在JTable比给定单元格宽度更长的字符串中.如何rowHeight动态设置以便我可以读取整个String?这是一个例子:

import javax.swing.*;

public class ExampleTable {

public JPanel createTable() {               
    JPanel totalGUI = new JPanel();

    //define titles for table
    String[] title = {"TITLE1", "TITLE2", "TITLE3"};

    //table data
    Object[][] playerdata = {       
    {new Integer(34), "Steve", "test test test"},
    {new Integer(32), "Patrick", "dumdi dumdi dummdi dumm di di didumm"},
    {new Integer(10), "Sarah", "blabla bla bla blabla bla bla blabla"},};

    //create object 'textTable'
    JTable textTable = new JTable(playerdata,title);

    //set column width
    textTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
    textTable.getColumnModel().getColumn(0).setPreferredWidth(60);
    textTable.getColumnModel().getColumn(1).setPreferredWidth(60);
    textTable.setDefaultRenderer(String.class, new RowHeightCellRenderer());

    //scrollbar …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

8
推荐指数
2
解决办法
1万
查看次数

如何全局更改JTable行高?

我正在使用Nimbus L&F.我正在尝试使用以下代码全局更改所有JTable的字体大小:

NimbusLookAndFeel nimbus = new NimbusLookAndFeel();
UIManager.setLookAndFeel(nimbus);
UIDefaults d = nimbus.getDefaults();
d.put("Table.font", new FontUIResource(new Font("SansSerif", Font.PLAIN, 18)));
Run Code Online (Sandbox Code Playgroud)

它正常工作,应用程序中的所有JTable行都使用新字体.我使用更大的字体大小使表格在大分辨率下更具可读性.

但问题是行高没有改变,导致字体被截断.我试过以下代码:

d.put("Table.contentMargins", new Insets(50,50,50,50));
d.put("Table:\"Table.cellRenderer\".contentMargins", new Insets(50,50,50,50));
Run Code Online (Sandbox Code Playgroud)

但它没有改变显示的表格中的任何内容.

我可以在不调用setRowHeight()每个JTable实例的情况下全局更改行高吗?

java swing jtable nimbus

6
推荐指数
1
解决办法
3220
查看次数

为什么在表格单元格中显示路径而不是图标

我是java-swing的新手.我想在表格单元格中添加图标.但是当我在单元格中添加ImageIcon时,它只显示路径而不是图标.

这是我的代码.

 public void createGUI(ArrayList<String> params, String type) {

    try {
        DefaultTableModel model = new DefaultTableModel();
        model.addColumn("ParameterName");
        model.addColumn("ParameterType");
        model.addColumn("Operation");
        for (int i = 0; i < params.size() - 4; i++) {
            String param_name = params.get(i).toString().substring(0, params.get(i).toString().indexOf("["));
            String param_type = params.get(i).toString().substring(params.get(i).toString().indexOf("[") + 1, params.get(i).toString().indexOf("]"));
            //URL url = ClassLoader.getSystemClassLoader().getResource("");
            ImageIcon image = new ImageIcon("/com/soastreamer/resources/delete_idle.png");
          //  JLabel label = new JLabel(image);
            model.addRow(new Object[]{param_name, param_type.toUpperCase(),image});

        }


        Action delete = new AbstractAction() {

            public void actionPerformed(ActionEvent e) {
                JTable table = (JTable) e.getSource();
                int modelRow …
Run Code Online (Sandbox Code Playgroud)

java icons swing tablecell

1
推荐指数
1
解决办法
1958
查看次数

标签 统计

java ×5

jtable ×4

swing ×3

height ×1

icons ×1

nimbus ×1

row ×1

row-height ×1

tablecell ×1