要想在JPANEL添加背景,要么就是PAINT画上去,要么就是加个JLABEL用图片填充;
但是JABEL上的图片怎么缩放大小或者平铺呢。我是问像HTML里的STRECH几个简单类型,
如:平铺,拉伸,居中这些;
JAVA要怎么实现呢?JLABEL内部可以添加控件吧?
图片 java image
------解决方案--------------------
setBounds()这个方法可以设置JPanel或者JLabel的位置及大小
------解决方案--------------------
使用 swingx中的 JXPanel,调用setBackgroundPainter 设置背景
------解决方案--------------------
平铺是使用TexturePaint 绘制。
------解决方案--------------------
JPanel设置背景的话最合适的方法肯定是在JPanel里面重写paint()方法,
paint里面应该有三个方法,分别是重绘背景,边框,还一个我忘了。
一般重写paintComponent方法就行了,说了这么多,给你个例子吧。
public class BackgroundPanel extends JPanel{
private static final long serialVersionUID = -4716216260810781252L;
protected Image image;
public BackgroundPanel() {
setBounds(0, 0, 400, 400);
setBackground();
}
public void setBackground() {
setImage(Toolkit.getDefaultToolkit().getImage("src"+File.separator+"image"+File.separator+"xiao.jpg"));
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
setBackground(Color.WHITE);
if (image != null) {
int height = image.getHeight(this);
int width = image.getWidth(this);
if (height != -1 && height > getHeight())
height = getHeight();