请教各位,为什么我用setBackground()方法改变不了JLabel的背景颜色?
----------------解决方案--------------------------------------------------------
不会吧?lableobj.setBackground(Color.getHSBColor(int,int,int));
----------------解决方案--------------------------------------------------------
试试我的代码
import java.awt.*;
import javax.swing.*;
class test extends JPanel
{
public test(JFrame jf)
{
jLabel=new JLabel("color");
jLabel.setBackground(Color.red);
setBackground(Color.black);
add(jLabel);
}
public static void main(String [] args)
{
JFrame jf=new JFrame();
test t=new test(jf);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(200,200);
jf.getContentPane().add(t,BorderLayout.CENTER);
jf.setVisible(true);
}
private JLabel jLabel;
}
----------------解决方案--------------------------------------------------------
请大家看一下这个代码,就是不能改变颜色的
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);
}
}
----------------解决方案--------------------------------------------------------
兄弟 运行不了!!
----------------解决方案--------------------------------------------------------
可以运行,你的JLabel想要它设的背景可用的话
加一句
lab[i].setOpaque(true);
----------------解决方案--------------------------------------------------------
为什么要加上这么一句话才行呢,有什么用的啊
----------------解决方案--------------------------------------------------------
查查API就知道了
setOpaque
public void setOpaque(boolean isOpaque)
- 如果为 true,则该组件绘制其边界内的所有像素。否则该组件可能不绘制其某些或所有像素,从而允许其下面的像素透视出来。
对于
JComponent
而言,此属性的默认值是 false。但是对于大多数标准的JComponent
子类(如JButton
和JTree
),此属性的默认值是和外观相关的。- 参数:
isOpaque
- 如果此组件应该是透明的,则为 true- 另请参见:
isOpaque()
----------------解决方案--------------------------------------------------------
查查API就知道了
setOpaque
public void setOpaque(boolean isOpaque)
- 如果为 true,则该组件绘制其边界内的所有像素。否则该组件可能不绘制其某些或所有像素,从而允许其下面的像素透视出来。
对于
JComponent
而言,此属性的默认值是 false。但是对于大多数标准的JComponent
子类(如JButton
和JTree
),此属性的默认值是和外观相关的。
- 参数:
isOpaque
- 如果此组件应该是透明的,则为 true
- 另请参见:
isOpaque()
这个API翻译错了
正好反了
isOpaque - 如果此组件应该是不透明的,则为 true
----------------解决方案--------------------------------------------------------