⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hyperlink.java

📁 最强手机阅读器Anyview3.0版的界面代码
💻 JAVA
字号:
package com.ismyway.fairyui;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Graphics;

import com.ismyway.anyview.others.Settings;
import com.ismyway.util.Theme;

public class HyperLink extends TextBlock {
	private String link = "";

	public HyperLink(String text, String link) {
		super(text);
		this.link = link;
		this.addCommand(new Command(link, Command.ITEM, 1));
	}

	public void paint(Graphics g, int adjustx, int adjusty) {
		//System.out.println(getInnerLeft() + ", " + getInnerTop() + ", " + getLeft() + ", " + getTop());

		int fontHeight = getFont().getHeight();
		g.setFont(getFont());
		int top = getTop() - adjusty;

		int panelHeight = MainCanvas.getInstance().getHeight();
		if (!isSelected()) {
			if (lines.size() > 0) {
				g.setColor(Theme.linkColor);
				g.drawString((String) lines.elementAt(0), getLeft(), top, ANCHOR);
				//				g.drawLine(getLeft(), top + fontHeight, getLeft()
				//						+ f.stringWidth((String) lines.elementAt(0)), top + fontHeight);
				for (int i = 1; i < lines.size(); i++) {
					if (top > panelHeight) {
						return;
					}
					top += getFont().getHeight() + Settings.HORPADDING;
					if (top < 0) {
						continue;
					}
					g.drawString((String) lines.elementAt(i), Settings.VECPADDING, top, ANCHOR);
				}
			}
		} else {
			if (lines.size() > 0) {
				g.setColor(Theme.linkColor);
				g.fillRect(getLeft(), top, getFont().stringWidth((String) lines.elementAt(0)), fontHeight);
				g.setColor(Theme.linkBackground);
				g.drawString((String) lines.elementAt(0), getLeft(), top, 20);
				for (int i = 1; i < lines.size(); i++) {
					if (top > panelHeight) {
						return;
					}
					top += getFont().getHeight() + Settings.HORPADDING;
					if (top < 0) {
						continue;
					}
					g.setColor(Theme.linkColor);
					g
							.fillRect(Settings.VECPADDING, top, getFont().stringWidth((String) lines.elementAt(i)),
									fontHeight);
					g.setColor(Theme.linkBackground);
					g.drawString((String) lines.elementAt(i), Settings.VECPADDING, top, ANCHOR);
				}
			}
		}
	}

	public String getLink() {
		return link;
	}

	public void setLink(String link) {
		this.link = link;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -