Vertical Repeater Table Header Cell

I used the Vertical Table Header Cell Renderer which is available on this site here It works great for me, but I need to understand how I can use some headers that are vertically aligned with multiple lines as shown in the example image (Coordinate Geometry). I tried to set strings with a matching \ n character, but I think my approach is very simplistic and flawed. Please keep it simple. Thank!

+3


source to share


2 answers


From Joop's answer, I did this. Instead of changing the shortcut, you can save \n

.

In the file, DefaultTableHeaderCellRenderer.java

replace getTableCellRendererComponent

as follows:



    public Component getTableCellRendererComponent(JTable table, Object value,
              boolean isSelected, boolean hasFocus, int row, int column) {

          String str = (value == null) ? "" : value.toString();
            BufferedReader br = new BufferedReader(new StringReader(str));
            String line;
            StringBuilder sb = new StringBuilder("<HTML>");
            try {
                while ((line = br.readLine()) != null) {
                    sb.append(line).append("<br/>");
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            sb.append("</HTML>");
        super.getTableCellRendererComponent(table, sb,
                isSelected, hasFocus, row, column);
        JTableHeader tableHeader = table.getTableHeader();
        if (tableHeader != null) {
          setForeground(tableHeader.getForeground());
        }
        setIcon(getIcon(table, column));
        setBorder(UIManager.getBorder("TableHeader.cellBorder"));
        return this;
      }

      

+3


source


In the beginning <html>

, enter HTML text, and use the <br>

(line break) instead \n

.



+4


source







All Articles