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

📄 e0e7492a7c69001c1fc58c90da12e940

📁 这是我自己照着书上敲的
💻
字号:
/*
 * Created on 2007-9-22
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
/**
 * @author Administrator
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class TooltipDemo extends Applet 
{
	public void init()
	{
		TooltipButton btnNew=new TooltipButton("新建");
		TooltipButton btnOpen=new TooltipButton("打开");
		TooltipButton btnSave=new TooltipButton("保存");
		this.add(btnNew);
		this.add(btnOpen);
		this.add(btnSave);
	}
}
class TooltipButton extends Button
{
	String strTooltip;
	TooltipWindow wndToolkit;
	public TooltipButton(String strTooltipText)
	{
		super(strTooltipText);
		this.strTooltip="这是"+strTooltipText+"按钮的提示";
		this.addMouseListener(new MouseAdapter())
		{
			public void mouseEnterd(MouseEvent event)
			{
				TooltipButton btnTooltip=TooltipButton.this;
				if(wndToolkit==null)
					wndToolkit=new ToolWindow(btnTooltip,strTooltip);
				Point ptLoc=getlocationOnScreen();
				Dimension dmSize=getSize();
				wndToolkit.setLocation(ptLoc.x,ptLoc.y+dmSize.height+2);
				wndToolkit.show();
			}
			public void mouseExited(MouseEvent event)
		    {
			    if(wndToolkit!=null&&wndToolkit.isShowing())
				    wndToolkit.dispose();
		    }
	    };
    }
}
class TooltipWindow extends Window
{
	private String strTooltipText;
	public TooltipWindow(Component comp,String strText)
	{
		super(getFrame(comp));
		this.strTooltipText=strText;
		setForeground(SystemColor.textText);
		setBackground(SystemColor.info);
	}
	public void paint(Graphics g)
	{
		Dimension dmSize=this.getSize();
		FontMetrics fm=g.getFontMetrics();
		g.drawRect(0,0,dmSize.width-1,dmSize.height-1);
		g.drawString(strTooltipText,2,fm.getAscent()+2);
	}
	public void show()
	{
		pack();
		super.show();
	}
	public Dimension getPreferredSize()
	{
		Graphics g=getGraphics();
		FontMetrics fm=g.getFontMetrics();
		return new Dimension(fm.stringWidth(strTooltipText)+4,fm.getHeight()+4);
	}
	static Frame getFrame(Component c)
	{
		Frame frame=null;
		while((c=c.getParent())!=null)
		{
			if(c instanceof Frame)
				frame=(Frame)c;
		}
		return frame;
	}
}

⌨️ 快捷键说明

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