quiero cambiar JButton
degradado de color, me encontré con esto, http://java2everyone.blogspot.com/2009/01/set-jbutton-gradient-color.html, pero quiero cambiar gradiente de un solo botón, no todos botónCambio JButton degradado de color, pero sólo por un botón, no todos
Respuesta
Usted puede anular el método de la JButton
ejemplo paintComponent y pintar su objeto Graphics con una de las siguientes clases que implementan la interfaz Paint:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public final class JGradientButtonDemo {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
final JFrame frame = new JFrame("Gradient JButton Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new FlowLayout());
frame.add(JGradientButton.newInstance());
frame.setSize(new Dimension(300, 150)); // used for demonstration
//frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static class JGradientButton extends JButton {
private JGradientButton() {
super("Gradient Button");
setContentAreaFilled(false);
setFocusPainted(false); // used for demonstration
}
@Override
protected void paintComponent(Graphics g) {
final Graphics2D g2 = (Graphics2D) g.create();
g2.setPaint(new GradientPaint(
new Point(0, 0),
Color.WHITE,
new Point(0, getHeight()),
Color.PINK.darker()));
g2.fillRect(0, 0, getWidth(), getHeight());
g2.dispose();
super.paintComponent(g);
}
public static JGradientButton newInstance() {
return new JGradientButton();
}
}
}
Una pequeña mejora con respecto a MRE respuesta:
private static final class JGradientButton extends JButton{
private JGradientButton(String text){
super(text);
setContentAreaFilled(false);
}
@Override
protected void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g.create();
g2.setPaint(new GradientPaint(
new Point(0, 0),
getBackground(),
new Point(0, getHeight()/3),
Color.WHITE));
g2.fillRect(0, 0, getWidth(), getHeight()/3);
g2.setPaint(new GradientPaint(
new Point(0, getHeight()/3),
Color.WHITE,
new Point(0, getHeight()),
getBackground()));
g2.fillRect(0, getHeight()/3, getWidth(), getHeight());
g2.dispose();
super.paintComponent(g);
}
}
¿Cómo se podría aplicar a un botón que ya es parte de una interfaz gráfica de usuario? ¿Tendría que cambiar los oyentes de acción si agregara esto a los botones? ¿Es eso posible? O mejor pregunta; ¿Es una pregunta razonable preguntar en primer lugar? –
Si una GUI ya tiene un botón, debe haber algún código que cree ese botón (JButton b = new JButton ("whatever")). Para reemplazar el botón predeterminado, debe crear un JGradientButton en su lugar (JButton b = new JGradientButton ("whatever")) y establecer el color de fondo a su gusto (b.setBackground (.. somecolor ...)). El código restante en la GUI que maneja el botón no debe modificarse – luca
- 1. Cómo establecer el color del botón de un JButton (no color de fondo)
- 2. Cómo pintar un degradado de color en Android en un lienzo con el cambio de color?
- 3. ¿Por qué setBackground to JButton no funciona?
- 4. Degradado de color Javascript
- 5. cómo establecer el color de Jbutton
- 6. Cambio del color del botón mediante programación
- 7. ¿Cómo cambio el color del texto de un botón?
- 8. Haciendo invisible un JButton, ¿pero se puede hacer clic?
- 9. Crear un botón personalizado en Java con JButton
- 10. gtk (mm) 3 botón cambio de color de fondo
- 11. la forma de calcular el color degradado por ciento
- 12. Icono de JButton de cambio de tamaño automático
- 13. ¿Cómo establecer un color de fondo de un JButton en Java?
- 14. Cambio de color del botón al pasar el mouse
- 15. Redondeado rect con color de degradado
- 16. GTK: crear un botón regular de color
- 17. Dibujando una línea con un degradado de color
- 18. crear una flecha con color de degradado
- 19. Cambio de posición de un botón
- 20. Cómo establecer el color de fondo de un JButton en el Mac OS
- 21. Cambio tr background-color
- 22. Cambio de color condicional en un gráfico
- 23. jQuery - Detecta un cambio de ancho de ventana pero no un cambio de altura
- 24. Cambio de todos los colores en Lilypond
- 25. ¿Cómo obtener el color de fondo predeterminado de JButton?
- 26. cambio de color de fondo
- 27. ¿Cómo crear un JButton con un menú?
- 28. Cambio del color de fondo de un JToggleButton seleccionado
- 29. ¿Cómo establecer el color de un botón?
- 30. Cambio en el color del texto del botón que no refleja
ya que debe ser L & F sensible, pero vey agradable 1 – mKorbel
mejor solución que he encontrado en SO –