Duvida JLabel

Galera tnho um texto em um JLabel…
Gostaria de saber como faço para deixa-lo preto…
tipow no meu programinha ele fica como se foçe marca d’agua

// mudar a cor do texto
setForeground(Color.BLACK);
// mudar o fundo
setBackground(Color.BLACK);

Não fica… Continua cinza

Para deixar um JLabel com outra cor no background precisa setá-lo como opaco:

label.setOpaque(true); label.setBackground(Color.BLACK); label.setForeground(Color.WHITE);

Continua cinza

[code]package Capitulo11;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.GridLayout;
@SuppressWarnings(“serial”)
public class AlingFrame extends JFrame{
private JPanel painelButtons;
private JPanel painelCheckBox;
private JPanel painelTextLabel;
private JButton okButton;
private JButton cancelButton;
private JButton helpButton;
private JLabel x;
private JLabel y;
private JCheckBox snapToGrid;
private JCheckBox showGrid;
private JTextField xText;
private JTextField yText;
public AlingFrame(){
super(“Aling Se Deus Quiser”);
//Inicializando Variaveis
okButton = new JButton(“Ok”);
cancelButton = new JButton(“Cancel”);
helpButton = new JButton(“Help”);
x = new JLabel(“x:”,0);
y = new JLabel(“y:”,0);
x.setEnabled(false);
y.setEnabled(false);
snapToGrid = new JCheckBox(“Snap to grid”);
showGrid = new JCheckBox(“Show to grid”);
xText = new JTextField(“0”, 3);
yText = new JTextField(“0”, 3);
setLayout(new FlowLayout());
painelCheckBox = new JPanel();
painelCheckBox.setLayout(new GridLayout(2,1));
painelCheckBox.add(snapToGrid);
painelCheckBox.add(showGrid);
add(painelCheckBox, BorderLayout.WEST);
painelTextLabel = new JPanel();
painelTextLabel.setLayout(new GridLayout(2,2));
painelTextLabel.add(x);
painelTextLabel.add(xText);
painelTextLabel.add(y);
painelTextLabel.add(yText);
painelTextLabel.setOpaque(true);
painelTextLabel.setForeground(Color.BLACK);
add(painelTextLabel, BorderLayout.CENTER);
painelButtons = new JPanel();
painelButtons.setLayout(new GridLayout(3,1,5,5));
painelButtons.add(okButton);
painelButtons.add(cancelButton);
painelButtons.add(helpButton);
add(painelButtons, BorderLayout.EAST);
setForeground(Color.BLACK);

}

}[/code]

Mas os seus JLabels não são x e y? Basta chamar o método nesses objetos:

x.setBackground(Color.BLACK);
y.setBackground(Color.BLACK);

Isso não funciona?

E uma sugestão: ao invés de usar o SupressWarnings para serial, implemente o serialVersionUID. Faça algo como:

public class AlingFrame extends JFrame{ 
    private static final long serialVersionUID = 1L;
.....

Não resolve… huahua

E como faço para implementar essa parte de serial?
tem problema se e ignorar?

Você precisa setar como opaco os labels x e y, além de setar a cor de background.

O método setForeground em capos textos é para setar a cor da fonte.

Para o serial você precisa de um gerador de serial, existem plugins para o eclipse e netbeans que geram esses números, esse é o procedimento correto.

Não fico…
eu coloco X e Y como opaco e ainda seto o foreground para preto… continua na mesma…
se eu colocar o background como branco ele fica com uma marca brancade fundo e mesmo assim a fonte fica cinza

Leia com atenção:

[b]Sete o background como preto.

Sete o foreground como branco ou a cor da fonte que preferir.[/b]

Você não ta entendendo…
eu ja fiz isso, mas acontece que o fundo sempre muda de cor, mas o texto não muda… continua cinza… mesmo colocando X e Y como black, white e por ai vai

Agora que eu prestei atenção no seu código… fica acinzentado porque você o desativa (setEnabled(false)) e, nesse caso, o look and feel é quem controla a cor. Simplesmente elimine as duas linhas que desabilitam seus JLabels (até porque desabilitar JLabels, nesse caso, é inútil).

POis né que era…
rsrsrsrs
vlw

Hum, então combine essa solução:

String htmlLabel = "<html><font color=#FF0000><b>Label colorido!</b></font></html>"; JLabel label = new JLabel(htmlLabel);

#FF0000 é a cor vermelha.

http://java.sun.com/docs/books/tutorial/uiswing/components/html.html

se vc quer q fique preto e não permita que o usuário o Edite…
usa seuLabel.setEditable(false);