透明按钮 如何用JAVA编写一个透明按钮的程序. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【liuliu1234567890】截止到2008-07-09 11:53:22的历史汇总数据(不包括此帖):发帖的总数量:0 发帖的总分数:0 每贴平均分数:0 回帖的总数量:0 得分贴总数量:0 回帖的得分率:0% 结贴的总数量:0 结贴的总分数:0 无满意结贴数:0 无满意结贴分:0 未结的帖子数:0 未结的总分数:0 结贴的百分比:---------------------结分的百分比:---------------------无满意结贴率:---------------------无满意结分率:---------------------如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html /* 自定义透明按钮实现: 1 继承JButton类. 这个不用讲 2. 正常显示文本. 重写paintComponent(Graphics g)方法,在方法里用g.drawString(String text, int x, int y);把文字画出来 3. 按钮本身只有边框, 如果放在有图片背景的窗体上, 可以看到背后的图像. 可以不画按钮的背景色,这样按钮就是透明的。 还可以把背景图片将要出现按钮部分的小图形截取下来,然后画成按钮的背景。 4. 当鼠标进入按钮区域时, 获取背景色, 然后进行加深或者变浅处理, 使产生凸起效果. 截取按钮出现部分的小图形到BufferedImage中,处理后(明暗处理)在不同的时机用不同的效果画背景。 */import javax.swing.JButton;import java.awt.geom.*;import java.awt.*;public class TransparentButton extends JButton {public TransparentButton(String str){ super(str); text=str;} public void paintComponent(Graphics g) { g.drawString(text,this.getWidth()/2-20,this.getHeight()/2+10); } private String text;} 如何用JAVA编写一个背景透明的按钮程序? public void setOpaque(boolean isOpaque)如果为 true,则该组件绘制其边界内的所有像素。否则该组件可能不绘制其某些或所有像素,从而允许其下面的像素透视出来。 对于 JComponent 而言,此属性的默认值是 false。但是对于大多数标准的 JComponent 子类(如 JButton 和 JTree),此属性的默认值是和外观相关的。 参数:isOpaque - 如果此组件应该是透明的,则为 true //super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; int rule = AlphaComposite.SRC_OVER; float alpha = 0.5F; g2.setComposite(AlphaComposite.getInstance(rule, alpha)); Paint paint = new GradientPaint(0,0,Color.BLUE,(float)getWidth(),(float)getHeight(),Color.GREEN); g2.setPaint(paint); //g2.setPaint(new Color(0.2F,0.8F,0.7F,0.5F)); g2.fill(new Rectangle2D.Double(0,0,getWidth(),getHeight())); g2.setPaint(Color.BLACK); g.drawString(text,this.getWidth()/2-20,this.getHeight()/2+10); output的一个小问题。 图片缩放失真问题 关于图形的问题 java连接数据库表时对其插入所遇到的困难,请各位高手伸出你们的帮助之手! 求救:如何在java中调用SQLServer中的bcp这个工具啊? linux下JAVA串口编程问题 我写的applet在本地用浏览器打开点击后回跳转到另一页。但是上传到网上然后打开就不能跳转到另一个页面了。 如何实现扩展的JTable控件? 怎样把byte[]的内容置空 急!急! jbuilder35enterprise到底如何安装亚,我怎么装完,总显示foundation 一个奇怪的加密问题 新手提问
楼主【liuliu1234567890】截止到2008-07-09 11:53:22的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
/*
自定义透明按钮实现:
1 继承JButton类.
这个不用讲
2. 正常显示文本.
重写paintComponent(Graphics g)方法,在方法里用g.drawString(String text, int x, int y);把文字画出来
3. 按钮本身只有边框, 如果放在有图片背景的窗体上, 可以看到背后的图像.
可以不画按钮的背景色,这样按钮就是透明的。
还可以把背景图片将要出现按钮部分的小图形截取下来,然后画成按钮的背景。
4. 当鼠标进入按钮区域时, 获取背景色, 然后进行加深或者变浅处理, 使产生凸起效果.
截取按钮出现部分的小图形到BufferedImage中,处理后(明暗处理)在不同的时机用不同的效果画背景。
*/
import javax.swing.JButton;
import java.awt.geom.*;
import java.awt.*;public class TransparentButton extends JButton {
public TransparentButton(String str)
{
super(str);
text=str;
}
public void paintComponent(Graphics g)
{
g.drawString(text,this.getWidth()/2-20,this.getHeight()/2+10);
}
private String text;}
对于 JComponent 而言,此属性的默认值是 false。但是对于大多数标准的 JComponent 子类(如 JButton 和 JTree),此属性的默认值是和外观相关的。
参数:
isOpaque - 如果此组件应该是透明的,则为 true
Graphics2D g2 = (Graphics2D)g;
int rule = AlphaComposite.SRC_OVER;
float alpha = 0.5F;
g2.setComposite(AlphaComposite.getInstance(rule, alpha));
Paint paint = new GradientPaint(0,0,Color.BLUE,(float)getWidth(),(float)getHeight(),Color.GREEN);
g2.setPaint(paint);
//g2.setPaint(new Color(0.2F,0.8F,0.7F,0.5F));
g2.fill(new Rectangle2D.Double(0,0,getWidth(),getHeight()));
g2.setPaint(Color.BLACK);
g.drawString(text,this.getWidth()/2-20,this.getHeight()/2+10);