@Override
    public void repaint(Graphics2D g) {
        if (font == null)
            font = g.getFont();
        if (scheme != null)
            g.setColor(scheme.text);
        g.setFont(font);
        String largestString = "";
        int offset = 0;
        for (String str : leftColumn) {
            if(str == null)
                continue;
            if (str.length() > largestString.length())
                largestString = str;
            g.drawString(str, x, y + offset);
            offset += g.getFont().getStringBounds(str, g.getFontRenderContext()).getHeight();
        }
        offset = 0;
        Rectangle2D bounds = g.getFont().getStringBounds(largestString, g.getFontRenderContext());
        for (String str : rightColumn) {
            if (str != null) {
                g.drawString(str, (int) (x + bounds.getWidth() + offsetIncrement), y + offset);
                offset += g.getFont().getStringBounds(str, g.getFontRenderContext()).getHeight();
            }
        }
    }