This is an automated email from the ASF dual-hosted git repository.
mbien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 22026a904b analyze stack trace window improvements.
new 18308a5ef3 Merge pull request #4355 from
mbien/stack_trace_window_improvements
22026a904b is described below
commit 22026a904b44b0c1b2bcfb2d2be174985f801e5d
Author: Michael Bien <[email protected]>
AuthorDate: Sat Jul 9 11:44:54 2022 +0200
analyze stack trace window improvements.
- added indentation for more familiar stack trace formatting
- fixed text color when selected
- fixed TopComponent background color to be consistent with other
windows
---
.../java/stackanalyzer/AnalyserCellRenderer.java | 25 +++++++++++-----------
.../stackanalyzer/AnalyzeStackTopComponent.java | 6 +++---
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
index 08ab2e6401..8829b7d0eb 100644
---
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
+++
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
@@ -82,7 +82,7 @@ class AnalyserCellRenderer extends DefaultListCellRenderer {
Link link = StackLineAnalyser.analyse (line);
if (isSelected) {
- setBackground (bg == null ? list.getSelectionBackground () : bg);
+ setBackground(bg == null ? list.getSelectionBackground() : bg);
setForeground(fg == null ? list.getSelectionForeground() : fg);
} else {
setBackground (list.getBackground ());
@@ -95,17 +95,23 @@ class AnalyserCellRenderer extends DefaultListCellRenderer {
if (link != null) {
StringBuilder sb = new StringBuilder ();
sb.append ("<html>");
- if (isSelected)
- sb.append("<style> a.val {text-decoration: underline; color: "
+ toRgbText(getForeground().getRGB()) + "} </style><body>");
- sb.append (line.substring (0, link.getStartOffset ()));
+ if (isSelected) {
+ sb.append("<style> a.val {text-decoration: underline; color:
"+toRgbText(getForeground())+"} </style><body>");
+ }
+ String prefix = line.substring (0, link.getStartOffset ());
+ if (prefix.startsWith("at ")) {
+ prefix = " " +
prefix;
+ }
+ sb.append (prefix);
sb.append ("<a class=\"val\" href=\"\">");
sb.append (line.substring (link.getStartOffset (),
link.getEndOffset ()));
sb.append ("</a>");
sb.append (line.substring (link.getEndOffset ()));
sb.append ("</body></html>");
setText (sb.toString ());
- } else
+ } else {
setText (line.trim ());
+ }
setEnabled (list.isEnabled ());
@@ -136,13 +142,8 @@ class AnalyserCellRenderer extends DefaultListCellRenderer
{
// return cp.findResource (resource) != null;
// }
- private static String toRgbText(int rgb) {
- if (rgb > 0xFFFFFF)
- rgb = 0xFFFFFF;
- if (rgb < 0)
- rgb = 0;
- String str = "000000" + Integer.toHexString(rgb); //NOI18N
- return "#" + str.substring(str.length() - 6); //NOI18N
+ private String toRgbText(Color c) {
+ return String.format("#%02x%02x%02x", c.getRed(), c.getGreen(),
c.getBlue());
}
}
diff --git
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
index 52010e435f..a6a098191b 100644
---
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
+++
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
@@ -37,6 +37,7 @@ import java.io.Serializable;
import java.util.logging.Logger;
import javax.swing.AbstractAction;
import javax.swing.DefaultListModel;
+import javax.swing.UIManager;
import javax.swing.text.DefaultEditorKit;
import org.netbeans.modules.java.stackanalyzer.StackLineAnalyser.Link;
@@ -65,6 +66,7 @@ final class AnalyzeStackTopComponent extends TopComponent {
getActionMap ().put (DefaultEditorKit.pasteAction, new PasteAction ());
insertButton.getActionMap ().put (DefaultEditorKit.pasteAction, new
PasteAction ());
scrollPane.getActionMap ().put (DefaultEditorKit.pasteAction, new
PasteAction ());
+ list.setBackground(UIManager.getColor("Tree.background"));
list.getActionMap ().put (DefaultEditorKit.pasteAction, new
PasteAction ());
list.setCellRenderer (new AnalyserCellRenderer ());
list.addKeyListener (new KeyAdapter () {
@@ -232,9 +234,7 @@ final class AnalyzeStackTopComponent extends TopComponent {
Reader reader = DataFlavor.stringFlavor.getReaderForText
(transferable);
BufferedReader r = new BufferedReader (reader);
fill(r);
- } catch (UnsupportedFlavorException ex) {
- Exceptions.printStackTrace (ex);
- } catch (IOException ex) {
+ } catch (UnsupportedFlavorException | IOException ex) {
Exceptions.printStackTrace (ex);
}
}//GEN-LAST:event_insertButtonActionPerformed
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists