NodeLabel.java 1.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
package jadx.gui.utils.ui;

import javax.swing.JLabel;
import javax.swing.SwingConstants;

import jadx.gui.treemodel.JNode;

public class NodeLabel extends JLabel {

	public static NodeLabel longName(JNode node) {
		NodeLabel label = new NodeLabel(node.makeLongStringHtml(), node.disableHtml());
		label.setIcon(node.getIcon());
		label.setHorizontalAlignment(SwingConstants.LEFT);
		return label;
	}

	public static NodeLabel noHtml(String label) {
		return new NodeLabel(label, true);
	}

	public static void disableHtml(JLabel label, boolean disable) {
		label.putClientProperty("html.disable", disable);
	}

	private boolean htmlDisabled = false;

	public NodeLabel() {
		disableHtml(true);
	}

	public NodeLabel(String label) {
		disableHtml(true);
		setText(label);
	}

	public NodeLabel(String label, boolean disableHtml) {
		disableHtml(disableHtml);
		setText(label);
	}

	public void disableHtml(boolean disable) {
		if (htmlDisabled != disable) {
			htmlDisabled = disable;
			disableHtml(this, disable);
		}
	}
}