
jlabel有一个setBorder方法,其中的形式参数是一个Border接口,主要用来设置边框的Border,有很多实现类,你看API文档就可以查到,我简单的给你查了一个,上面的代码就是,你可以多试验几个,慢慢来!
可以这样:import java.awt.*
public class Test extends Frame{
public void go(){
Button btn=new Button("带边框的按钮")
setLayout(new FlowLayout())/*Frame的默认布局为BorderLayout,如果直接添加,则Button就会充满整个Frame,无法显示画的边框*/
add(btn)
setSize(100,100)
setVisible(true)
//必须将窗口显示出来,才能用Graphics画图,否则无效
Graphics g=getGraphics()
g.setColor(Color.RED)
Point p=btn.getLocation()
g.drawRect(p.x,p.y,btn.getSize().width,btn.getSize().height)
}
public static void main(String args[]){
new Test().go()
}
}
java swing是提供了设置阴影和透明度的方法的,示例如下:import javax.swing.*
import java.awt.*
import java.awt.event.*
import com.sun.awt.AWTUtilities
导入 AWTUtilities可能会提示:访问限制:由于对必需的库 C:\Program Files\Java\jre6\lib\rt.jar 具有一定限制,因此无法访问类型 AWTUtilities,请到eclipse进行设置:窗口》首选项》java》编译器》错误警告 选择 代码样式》访问外层不可访问成员》 把错误修改成功 警告
public class Ceshi extends JFrame
{
public Ceshi()
{
JLabel label=new JLabel("这是一个标签!")
label.setOpaque(false)
label.setHorizontalAlignment(JLabel.CENTER)
add(label)
setSize(600,400)
setLocationRelativeTo(null)
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
//Opacity最大值为1.0f,也就是什么也不透明,取值不能大于1.0f
AWTUtilities.setWindowOpacity(this,0.5f)
setVisible(true)
}
public static void main(String[] args)
{
new Ceshi()
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)