Java中swing如何背景上画图 30

需要在JLabel上面画个图,这个图来作为Label的背景,应该如何做呢,要让文字始终在图片的下方,应该怎么做呢publicvoidpaint(Graphicsg){su... 需要在JLabel上面画个图,这个图来作为Label的背景,应该如何做呢,要让文字始终在图片的下方,应该怎么做呢

public void paint(Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.black);
setHorizontalAlignment(JLabel.CENTER);
//解决边缘锯齿
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING , RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setStroke(new BasicStroke(1.0f));

g2d.drawRoundRect(1, 1, getWidth()-2, getHeight()-2, 6, 6);
//g2d.drawString("确定", 20, 20);
}
这个方法是在前景色绘制
展开
 我来答
00gaojun
推荐于2016-06-16 · TA获得超过707个赞
知道小有建树答主
回答量:333
采纳率:0%
帮助的人:155万
展开全部

所有的JComponent都有setBackgroundColor(Color c). 但是这个只是单一的颜色.

如果你想要放置自定义的颜色或者图片的话

你可以继承一个JPanel, override他的paintComponent, 加上drawImage()来画自己的图片上去.

class BackGroundPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer)
}
}
JButton btn = new JButton();
BackGroundPanel bkPanel = new BackGroundPanel ();
btn.setOpaque(false);//这句使得button背景变得透明, 漏出bkPanel
bkPanel.add(btn, BorderLayout.Center);
1990幻想
2014-09-02 · TA获得超过241个赞
知道小有建树答主
回答量:352
采纳率:0%
帮助的人:101万
展开全部
让文字始终在图片的下方???

设置背景难道没有 setBackground方法?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-02
展开全部
先绘文字、再绘图片,文字就在下面,但恐怕看不到了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式