Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > ayuda para crear boton

hola.
tengo una duda sobre como se puede realizar un botón con forma de trapezoide isósceles (no tengo mucha experiencia en eso, aun soy estudiante pero quiero aprender mas cosas).Si es posible que fuera de una forma muy detallada la explicación para entender mejor.
Lo intente realizar por medio de una imagen. Pero el botón aun así se quedaba con la forma rectangular y no pude de esa forma
Gracias

agosto 11, 2015 | Registered Commenteroscaruli

Hola, pues la verdad que yo no lo he usado nunca, pero si, es posible, te remito a otro foro donde se discute el tema, espero que tengas buen nivel de ingles. Enlace Aquí

Si te va mal el ingles o no entiendes, nos lo dices y ya investigamos para explicarte directamente, un saludo.

agosto 11, 2015 | Registered Commenterloderain

no logro comprender muy bien como utilizar el código para hacer el botón que necesito.
aun soy muy nuevo en esto. me lo podrían explicar.
gracias

agosto 12, 2015 | Unregistered Commenteroscaruli

Hola,
No se si mi explicación sera mejor que la del link que te dio @loderain, pero intentare explicarte.
Creo que abordare la explicación diciendo que puedes cambiar la forma de como se dibuja los componentes swing sobre escribiendo el método paintComponent.
como logras esto heredando de tu componente, o haciendo una clase anónima del mismo. Me enfocare en lo primero.
En el botón cuando sobrescribes el método paintComponent tu eres el encargado tanto que se dibuje el texto y color de fondo, es decir estas propiedades ya no tendra efecto si tu no las tomas en cuenta a la hora de pintar,
tomare como ejemplo el enlace que te dio @loderain


class MyButton extends JButton implements ActionListener{

MyButton(String text) {
super(text);
//añade el metodo que sera ejecutado cuando le des click al boton.
addActionListener(this);
}

MyButton() {
super();

addActionListener(this);
}
public void actionPerformed(ActionEvent e) {

//Evento del boton, aquí va lo que tu quieres que haga cuando de click

}

public void paintComponent(Graphics g) {
//aquí es donde te haces grande y dibujas tu trapecio isósceles
//debes respeta las dimensiones que dará el layout o tu explicitamente después al botón
//para que sea flexible si quieres cambiar el tamaño de tu botón después
//internamente toma como un rectángulo, que dentro un trapecio
Rectangle r = getBounds();

int x = r.x + 20;

int y = r.y + 20;

int ancho = r.width - 40;

int alto = r.height- 40;
//no dibujare nada que no tengo java desde la maquina que te escribo, y bueno hacer
//el trapecio ya es tu trabajo.

}

}

//bueno suponiendo que ya tienes bien dibujado tu botón ahora como lo pongo en mi interfaz grafica?, igual que haces con los botones normales

yo solo cambiaría el JButton boton=new JButton();
por el JButton boton =new MyButton(); y asi no tendrias que tocar el codigo, que tienes para colocar el boton en su lugar.

te dejo un link para ampliar el tema de como dibujar con Graphics:
http://recursosformacion.com/wordpress/2013/05/java-para-programadores-5-3los-metodos-graphics-y-paint/
recuerda el truco es sobrescribir el método paintComponent.

Saludos.

agosto 12, 2015 | Registered Commenterjhosep

muchas gracias ya lo comprendí lo pondré en practica a ver si me funciona. De nuevo muchas gracias

agosto 14, 2015 | Unregistered Commenteroscaruli