我用java编写的一个表格,JTable对象加在JPanel面板上,JPanel加在JFrame上。怎样才能设置背景色?
JFrame绘图的话图片会遮住其他组件,JPanel绘图的话不管用。JTable上可以绘图吗?我试了下貌似也不可以。。我的目的就是有个透明背景,表格上显示文字和单元格线条...
JFrame绘图的话图片会遮住其他组件,JPanel绘图的话不管用。JTable上可以绘图吗?我试了下貌似也不可以。。我的目的就是有个透明背景,表格上显示文字和单元格线条,其他部分要能看见背景图片,新手,求大神帮忙,感激不尽。
展开
3个回答
展开全部
你好,如果你的目的是为了实现JFrame或JPanel加背景图片的话,当然不能使用paint,要使用分层+带icon的JLabel,可以看下我的这篇日志
JFrame 背景图片
http://hi.baidu.com/lylegend13/blog/item/9713c5885cffbe89a5c27257.html
JFrame 背景图片
http://hi.baidu.com/lylegend13/blog/item/9713c5885cffbe89a5c27257.html
更多追问追答
追问
有木有代码啊?JLayeredPane()是什么?你那个文本域可以透明吗?你确定JTable可以嘛,其他的组件我也试过好多都可以,就是Jtable不好用
追答
你好,如果你用的netbeans的话就非常简单了,方便的话留下QQ吧,我帮你看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相关的我以前处理过,可以把frame或者panel设置成透明的,这样就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class DrawFrame {
public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.getContentPane().setBackground(Color.RED);
JTable table = new JTable(4, 4) {
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
Composite com = g2d.getComposite();
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f));
g2d.setColor(Color.RED);
g2d.fill(new Rectangle(0, 0, this.getWidth(), getHeight()));
g2d.setComposite(com);
g2d.setColor(Color.BLACK);
}
};
frame.getContentPane().add(table, "Center");
frame.setVisible(true);
}
}
Table上有一层半透明的红色层。
public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.getContentPane().setBackground(Color.RED);
JTable table = new JTable(4, 4) {
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
Composite com = g2d.getComposite();
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f));
g2d.setColor(Color.RED);
g2d.fill(new Rectangle(0, 0, this.getWidth(), getHeight()));
g2d.setComposite(com);
g2d.setColor(Color.BLACK);
}
};
frame.getContentPane().add(table, "Center");
frame.setVisible(true);
}
}
Table上有一层半透明的红色层。
追问
那如果是图片呢?
追答
一样画上去,效果不好调整透过值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询