hallo zusammen,
hab schon viel rumgesucht und auch schon einige sachen ausprobiert. jetzt wollt ich euch mal fragen ob ihr vielleicht auf anhieb wüsstet, wie man folgendes realisieren könnte:
mein jtree hat zum beispiel 3 nodes in form von jpanels+jlabels mit einer seiten-vorschau. selektierte seiten (nodes) erhalten einen farbigen rahmen in form eines TitledBorders mit einer zahl, welche die reihenfolge der selektion anzeigt:
TreeCellRenderer
das mit dem roten rahmen funktioniert natürlich. probleme hab ich nur mit der nummerierung der reihenfolge bei einer selektion. der obige text wird innerhalb einer paint() methode ausgeführt, welche sich innerhalb des panels befindet, welches für die darstellung der seitenvorschau zuständig ist.
der fehler zeigt sich dadurch, dass wenn ich zum beispiel die ersten drei seiten selektiere, die erste eine "1" bekommt - die zweite eine "3" und die erste zur "2" wird. siehe screenshot...
wie würdet ihr ansetzen? würd mich über tipps freuen!
gruß
hab schon viel rumgesucht und auch schon einige sachen ausprobiert. jetzt wollt ich euch mal fragen ob ihr vielleicht auf anhieb wüsstet, wie man folgendes realisieren könnte:
mein jtree hat zum beispiel 3 nodes in form von jpanels+jlabels mit einer seiten-vorschau. selektierte seiten (nodes) erhalten einen farbigen rahmen in form eines TitledBorders mit einer zahl, welche die reihenfolge der selektion anzeigt:
TreeCellRenderer
Java:
// Show a titled border - count selection and display it on each selected.
if (XYTreeCellRenderer.this.selected) {
panel.setBorder(BorderFactory.createTitledBorder(highlightBorder, String.valueOf(treeHandle.getSelectionCount()), TitledBorder.RIGHT, TitledBorder.DEFAULT_POSITION, new Font("Arial", Font.BOLD, 16), Color.BLACK));
} else {
panel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
}
das mit dem roten rahmen funktioniert natürlich. probleme hab ich nur mit der nummerierung der reihenfolge bei einer selektion. der obige text wird innerhalb einer paint() methode ausgeführt, welche sich innerhalb des panels befindet, welches für die darstellung der seitenvorschau zuständig ist.
der fehler zeigt sich dadurch, dass wenn ich zum beispiel die ersten drei seiten selektiere, die erste eine "1" bekommt - die zweite eine "3" und die erste zur "2" wird. siehe screenshot...
wie würdet ihr ansetzen? würd mich über tipps freuen!
gruß