mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract html label creation method into util class, remove unused code
This commit is contained in:
@@ -47,6 +47,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.HyperlinkEvent;
|
||||
import javax.swing.event.HyperlinkListener;
|
||||
import javax.swing.event.PopupMenuEvent;
|
||||
import javax.swing.event.PopupMenuListener;
|
||||
import javax.swing.table.DefaultTableCellRenderer;
|
||||
@@ -738,4 +740,38 @@ public class SwingHelper {
|
||||
return text.substring(0, currentLen) + ELLIPSIS;
|
||||
}
|
||||
}
|
||||
|
||||
public static JEditorPane createHtmlLabel(@NotNull final String innerHtml, @Nullable String disabledHtml,
|
||||
@Nullable final Consumer<String> hyperlinkListener) {
|
||||
disabledHtml = disabledHtml == null ? innerHtml : disabledHtml;
|
||||
final Font font = UIUtil.getLabelFont();
|
||||
String html = String.format(
|
||||
"<html><head>%s</head><body>%s</body></html>",
|
||||
UIUtil.getCssFontDeclaration(font, UIUtil.getInactiveTextColor(), null, null),
|
||||
innerHtml
|
||||
);
|
||||
String disabled = String.format(
|
||||
"<html><head>%s</head><body>%s</body></html>",
|
||||
UIUtil.getCssFontDeclaration(font, UIUtil.getInactiveTextColor(), null, null),
|
||||
disabledHtml
|
||||
);
|
||||
|
||||
final JEditorPane pane = new SwingHelper.HtmlViewerBuilder()
|
||||
.setCarryTextOver(false)
|
||||
.setFont(UIUtil.getLabelFont())
|
||||
.setDisabledHtml(disabled)
|
||||
.create();
|
||||
pane.setText(html);
|
||||
pane.addHyperlinkListener(
|
||||
new HyperlinkListener() {
|
||||
public void hyperlinkUpdate(HyperlinkEvent e) {
|
||||
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
|
||||
if (hyperlinkListener != null) hyperlinkListener.consume(e.getURL() == null ? "" : e.getURL().toString());
|
||||
else BrowserUtil.browse(e.getURL());
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
return pane;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user