Java Intellij Idea如何添加装订线图标?
Posted
技术标签:
【中文标题】Java Intellij Idea如何添加装订线图标?【英文标题】:Java Intelij Idea how to add gutter icon? 【发布时间】:2020-06-25 15:23:51 【问题描述】:在我的 IntelliJ idea 插件项目中,我遇到了渲染排水沟图标的问题。
我想在行号旁边呈现装订线图标,但它只呈现小矩形。装订线图标路径已正确加载,装订线图标大小为 12x12px,格式为 png。你能帮帮我吗?
我的代码:
public static void addLineHighlight(Document document, int lineNumber,
String text)
Icon highlightIcon = IconLoader.getIcon("META-INF/fail.png");
addGutterIcon(getRangeHighlighter(document, lineNumber), highlightIcon, text);
@NotNull
private static RangeHighlighter getRangeHighlighter(Document document, int lineNumber)
MarkupModel markupModel = getMarkupModel(document);
TextAttributes textAttributes = getTextAttributes();
RangeHighlighter highlighter;
highlighter = markupModel.addLineHighlighter(lineNumber, 66 , textAttributes);
return highlighter;
private static void addGutterIcon(@NotNull RangeHighlighter highlighter, Icon icon, String text)
highlighter.setGutterIconRenderer(new GutterIconRenderer()
@Override
public boolean equals(Object obj)
return false;
@Override
public int hashCode()
return 0;
@NotNull
@Override
public Icon getIcon()
return icon;
);
private static MarkupModel getMarkupModel(Document document)
return DocumentMarkupModel.forDocument(document, TestSingleton.getInstance().getProject(), true);
@NotNull
private static TextAttributes getTextAttributes()
TextAttributes textAttributes = null;
textAttributes = new TextAttributes();
textAttributes.setBackgroundColor(JBColor.RED);
textAttributes.setErrorStripeColor(JBColor.RED);
return textAttributes;
【问题讨论】:
我相信你应该使用 com.intellij.codeInsight.daemon.LineMarkerProvider。见this post 和this example 【参考方案1】:我相信您应该使用 com.intellij.codeInsight.daemon.LineMarkerProvider。
参见this post 和this example。
【讨论】:
以上是关于Java Intellij Idea如何添加装订线图标?的主要内容,如果未能解决你的问题,请参考以下文章