请教各位,为什么我用setBackground()方法改变不了JLabel的背景颜色?
不会吧?lableobj.setBackground(Color.getHSBColor(int,int,int));
请大家看一下这个代码,就是不能改变颜色的
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class JLabelsetBackground extends JFrame
{
public static void main(String args[])
{
JLabelsetBackground background=new JLabelsetBackground();
}
public JLabelsetBackground()
{
JLabel[] lab=new JLabel[8];
JPanel pan=new JPanel();
pan.setLayout(new GridLayout(2,4));
for(int i=0;i<8;i++)
{
lab[i]=new JLabel(String.valueOf(i));
lab[i].setBackground(Color.blue);
pan.add(lab[i]);
}
getContentPane().add(pan);
setSize(300,250);
setVisible(true);
}
}
public void setOpaque(boolean isOpaque)
对于 JComponent
而言,此属性的默认值是 false。但是对于大多数标准的 JComponent
子类(如 JButton
和 JTree
),此属性的默认值是和外观相关的。
isOpaque
- 如果此组件应该是透明的,则为 true
isOpaque()
public void setOpaque(boolean isOpaque)
对于 JComponent
而言,此属性的默认值是 false。但是对于大多数标准的 JComponent
子类(如 JButton
和 JTree
),此属性的默认值是和外观相关的。
isOpaque
- 如果此组件应该是透明的,则为 true isOpaque()
这个API翻译错了
正好反了
isOpaque - 如果此组件应该是不透明的,则为 true