当前位置: 代码迷 >> Java相关 >> 背景颜色的设置
  详细解决方案

背景颜色的设置

热度:494   发布时间:2006-06-26 20:00:18.0
背景颜色的设置

请教各位,为什么我用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 子类(如 JButtonJTree),此属性的默认值是和外观相关的。

参数:
isOpaque - 如果此组件应该是透明的,则为 true
另请参见:
isOpaque()

----------------解决方案--------------------------------------------------------
以下是引用aiyuheng在2006-6-27 11:20:53的发言:

查查API就知道了
setOpaque

public void setOpaque(boolean isOpaque)
如果为 true,则该组件绘制其边界内的所有像素。否则该组件可能不绘制其某些或所有像素,从而允许其下面的像素透视出来。

对于 JComponent 而言,此属性的默认值是 false。但是对于大多数标准的 JComponent 子类(如 JButtonJTree),此属性的默认值是和外观相关的。

参数:
isOpaque - 如果此组件应该是透明的,则为 true
另请参见:
isOpaque()

这个API翻译错了
正好反了
isOpaque - 如果此组件应该是透明的,则为 true


----------------解决方案--------------------------------------------------------
  相关解决方案