1

私は現在、コードファイルを通過し、すべてのコメントを右 (100 文字) に揃えてすべてのコメントを列に配置し、コードを JList に出力するプログラムを持っています (したがって、コードの各行はリスト)。私がやろうとしているのは、調整されたコードが出力されるときに、すべてのコメントが始まる背景に垂直線を追加することです (ページが終了する場所を示す netbeans の行に似ています)。JListを使用するとこれは不可能だと感じていますが、誰かがそれを確認できますか? これはJavaでまったく可能ですか?もしそうなら、どうすればいいですか?

4

4 に答える 4

1

バックグラウンドで線を描画するために ListUI で遊んでみてください。

public static void main(String[] args) {
    JDialog dialog = new JDialog();

    JList list = new JList();
    list.setUI(new LinedListUI());

    dialog.add(new JScrollPane(list));


    dialog.setPreferredSize(new Dimension(300, 300));
    dialog.pack();
    dialog.setLocationRelativeTo(null);
    dialog.setVisible(true);
}


static class LinedListUI extends BasicListUI {

    public void paint(Graphics g, JComponent c) {

        super.paint(g, c);
        g.setColor(Color.gray);
        int x = (int) (c.getWidth() * 0.8);
        g.drawLine(x, 0, x, c.getHeight());
    }
}
于 2013-07-02T08:31:17.117 に答える
0

行を html として追加します。以下では、Apache Commons StringEscapeUtils を使用しました。

final String COMMENT_BEGIN =
    "<span style='width: 3px; background-color: #00cc00'></span>";
line = "<html>" + StringEscapeUtils.escapeHtml(line)
    .replaceFirst("//", COMMENT_BEGIN + "$0");

同様に、コメントを緑色にすることもできます。

于 2013-07-02T14:06:36.357 に答える
0

あなたが何をしているのか完全にはわかりませんが、JList に " -------------- -----" 改ページが表示される場所。それがあなたが探しているものかどうかはわかりません。

于 2013-07-01T17:51:43.867 に答える