📄 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 + -