Java如何让JLabel setText()方法显示背景网页图片?
Java如何让JLabelsetText()方法显示背景网页图片?我的思路是:1:JLabel中setText()方法setText("<html><body><imgw...
Java如何让JLabel setText()方法显示背景网页图片?
我的思路是:
1:JLabel中setText()方法
setText("<html><body><img width='" + w
+ "' height='" + (h) + "' src="
+ "'x:/welcome.jpg
+ "'></img></body></html>");
2:把JLabel加入到JFrame的JLayerPane中;
为什么我的显示不出来图片背景效果呢?图片显示不出来,但是要放入文字的话可以显示?
求一个完整的例子,感激不尽!!!
附上我测试不成功的代码!!!
jlb = new JLabel();//属性稍后函数设置
getContentPane().setLayout(new BorderLayout());
jlb.setVerticalAlignment(SwingConstants.TOP);//设置标签内容沿 Y 轴的对齐方式。 此属性的默认值为 CENTER。
jlb.setHorizontalAlignment(SwingConstants.CENTER);//返回标签内容沿 X 轴的对齐方式
updateBackImage(jlb);
jb = new JButton();
jp = new JPanel();
// jdp.add(jlb, new Integer(Integer.MIN_VALUE));
// getContentPane().add(jdp, BorderLayout.NORTH);
((JPanel)getContentPane()).setOpaque(false);
getLayeredPane().add(jlb, new Integer(Integer.MIN_VALUE));
setBounds(300, 200, 900, 700);
// this.setResizable(false);
setVisible(true);
}
private void updateBackImage(JLabel jlb)
{
int w = 800;
int h = 600;
jlb.setSize(w, h);
// jlb.setText("<html><body>这个可以成功显示</body></html>");//这个可以成功显示
jlb.setText("<html><body><img width='" + w
+ "' height='" + (h) + "' src="
+ "'x:/welcome.jpg"
+ "'></img></body></html>");
}
public static void main(String[] args)
{
new Login();
}
就没有人知道如何设置背景图片吗?只求这个用settext() 方法用html来设置的方法。别的不求。很好奇这个方法为什么能够自动改变他的分辨率,而别的方法好像不行。
要么给我提供一个能够自动改变分辨率的方法也行啊,就是用户有时候 会自己改变窗口的大小比如最大化啊什么的,要求背景图片根据窗口的改变而改变。 展开
我的思路是:
1:JLabel中setText()方法
setText("<html><body><img width='" + w
+ "' height='" + (h) + "' src="
+ "'x:/welcome.jpg
+ "'></img></body></html>");
2:把JLabel加入到JFrame的JLayerPane中;
为什么我的显示不出来图片背景效果呢?图片显示不出来,但是要放入文字的话可以显示?
求一个完整的例子,感激不尽!!!
附上我测试不成功的代码!!!
jlb = new JLabel();//属性稍后函数设置
getContentPane().setLayout(new BorderLayout());
jlb.setVerticalAlignment(SwingConstants.TOP);//设置标签内容沿 Y 轴的对齐方式。 此属性的默认值为 CENTER。
jlb.setHorizontalAlignment(SwingConstants.CENTER);//返回标签内容沿 X 轴的对齐方式
updateBackImage(jlb);
jb = new JButton();
jp = new JPanel();
// jdp.add(jlb, new Integer(Integer.MIN_VALUE));
// getContentPane().add(jdp, BorderLayout.NORTH);
((JPanel)getContentPane()).setOpaque(false);
getLayeredPane().add(jlb, new Integer(Integer.MIN_VALUE));
setBounds(300, 200, 900, 700);
// this.setResizable(false);
setVisible(true);
}
private void updateBackImage(JLabel jlb)
{
int w = 800;
int h = 600;
jlb.setSize(w, h);
// jlb.setText("<html><body>这个可以成功显示</body></html>");//这个可以成功显示
jlb.setText("<html><body><img width='" + w
+ "' height='" + (h) + "' src="
+ "'x:/welcome.jpg"
+ "'></img></body></html>");
}
public static void main(String[] args)
{
new Login();
}
就没有人知道如何设置背景图片吗?只求这个用settext() 方法用html来设置的方法。别的不求。很好奇这个方法为什么能够自动改变他的分辨率,而别的方法好像不行。
要么给我提供一个能够自动改变分辨率的方法也行啊,就是用户有时候 会自己改变窗口的大小比如最大化啊什么的,要求背景图片根据窗口的改变而改变。 展开
2个回答
2013-05-13
展开全部
继承一个普通的JLabel,然后在paint中绘上图片+文字,随意
追问
这个方法我知道,我想知道的是怎么用html来设置背景,这种设置背景的方式可以根据主窗口大小的改变来自动改变背景图片的分辨率,重写paintComponent()方法好像不能实现这个功能的额;‘
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询