首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JTextAreaUI定做

2012-10-07 
JTextAreaUI定制通过下列操作可以形成一个半透明无边框输入域的效果?#输入域完全透明setOpaque(false)?#设

JTextAreaUI定制

通过下列操作可以形成一个半透明无边框输入域的效果

?

#输入域完全透明setOpaque(false)?
#设置输入域无边框setBorder(null)?
? ?(在组件的重绘方法中绘制一个半透明与输入域等大的矩形框)
#取得能够进行透明度设置的2D引擎Graphics2D g2 = (Graphics2D);
#创建一个AlphaComposite来表示透明度
? ? ? ? ?AlphaComposite ac = AlphaComposite.

? ? ? ? ? ? ? ? ? getInstance(AlphaComposite.SRC_OVER,0.4f);?
#设置透明度和颜色g2.setComposite(ac);g2.setColor(Color.white);

class TransparentArea extends JTextArea {public TransparentArea(){super();this.setOpaque(false);//将输入域设置成透明this.setAutoscrolls(true);//输入域自动显示刚输入的内容this.setBorder(null);//去边框setLineWrap(true);//自动换行setFont(new Font("MicrosoftYahei",                                  Font.PLAIN,16));//输入域的字体setWrapStyleWord(true);//一个英文单词在同一行}@Overridepublic void paintComponent(Graphics g) {              super.paintComponent(g);                            //取得绘制组件的2D引擎Graphics2D g2 = (Graphics2D)g;//设置透明度为0.4fAlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.4f);g2.setComposite(ac);g2.setColor(Color.white);//绘制一个与输入域等大小的填充矩形框来形成其半透明效果g2.fillRect(0, 0, getWidth(), getHeight());}}


? ?下面是该类的一个应用实例,一个聊天界面:

?

? ? JTextAreaUI定做

?

热点排行