Pessoal boa noite vi algumas coisas no forum mas não compreendi muito bem, gostaria de arrendondar borda do texField alguem poderia me ajudar grato
[Resolvido]Arredondar borda de um textField Java
F
1 Resposta
V
Você precisará sobreescrever alguns métodos do JTextField para que o mesmo possua bordas arredondadas. Métodos que você precisará sobreescrever: paintComponent(), paintBorder(), e contains().
Exemplo:
public class RoundJTextField extends JTextField {
private Shape shape;
public RoundJTextField(int size) {
super(size);
setOpaque(false);
}
protected void paintComponent(Graphics g) {
g.setColor(getBackground());
g.fillRoundRect(0, 0, getWidth()-1, getHeight()-1, 15, 15);
super.paintComponent(g);
}
protected void paintBorder(Graphics g) {
g.setColor(getForeground());
g.drawRoundRect(0, 0, getWidth()-1, getHeight()-1, 15, 15);
}
public boolean contains(int x, int y) {
if (shape == null || !shape.getBounds().equals(getBounds())) {
shape = new RoundRectangle2D.Float(0, 0, getWidth()-1, getHeight()-1, 15, 15);
}
return shape.contains(x, y);
}
}
Para testar o efeito:
JFrame frame = new JFrame("TextFiel com borda arredondada");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setLayout(new FlowLayout());
JTextField field = new RoundJTextField(15);
frame.add(field);
frame.setVisible(true);
Dá uma olhada nesse link também: https://java-swing-tips.blogspot.com.br/2012/03/rounded-border-for-jtextfield.html
Criado 10 de fevereiro de 2017
Ultima resposta 10 de fev. de 2017
Respostas 1
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Desbravando SOLID: Praticas avancadas para codigos de... Por Alexandre Aquiles — Casa do Codigo