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);