Java Jframe Neatbeans app ayuda!

jockerwn

Hola, esdtoy haciendo una aplicacion personal, y el tema de aplicarle un fondo, al app, personalizado me esta volviendo loco, porque el que quiero ponerle bordes con relieve, es decir, no es rectangular o circular, para que me entendais, cuando entras al Diablo 3 que sus bordes son puntiagudos...Aplico imagenes pero el fondo del Jframe blanco se ve y eso es lo que me molesta, si se pudiera ocultar estaria bien, Tengo que decir que pongo las imagenes de fondo con un Jlabel (si estoy empezando con esto de las interfaces). Espero que me podais ayuidar tengo cacao mental, Gracias!!

Lecherito

Como no pongas una foto de más o menos como lo quieres...

1 respuesta
jockerwn

#2

Me refiero a ese estilo de ventana, que se puedan ver los bordes sin que debajo haya un rectangulo blanco del jframe, tengo listo la plantalilla ya ( imagen mejor dicho) :)

Spacelord

Había por ahí un método setShape() que recibe una interfaz Shape por parámetro, pero no lo he usado en mi vida y no sabría decirte si es lo que buscas.

jockerwn

esque me gustaria saber como diablos hacen una ventana asi de personalizada con bordes y laterales que no sean rectilineaos. A no ser que con neatbeans no se pueda hacer o nuseep..

1 respuesta
Mewtwo

#5 normalmente con una imagen png poniendola como background de la ventana no deberia quedarte nada blanco.

1 respuesta
jockerwn

#6 pero a lo que me refiero es a esos bordes que no son rectilineos caul ventana normal, sino puntiagudos...etc. Si lo aplicas de background se veria parte blanca del jframe

elkaoD

Buscando "java non-rectangular window"

http://stackoverflow.com/questions/991074/swing-how-to-make-non-rectangular-windows-with-soft-borders

jockerwn

oohh vale, puede que sea eso, lo probaré-
Pero tengo otra dudilla y es sobre el jcombobox, que elijas "suma" y haga la operacion de suma ( con los if y todo esto..) mi cuestion es que no se donde colocar el codigo, si en el evento creado del selector , o en el boton de "calcular"...
Gracias guys!

1 respuesta
Spacelord

#9 Creas tantas variables GLOBALES (ojo aquí) como sumandos necesites y les asignas el valor que devuelva la selección del/los combobox. Luego, en el botón calcular, recuperas esas variables (con captura de error por si no tienen valor asignado aún) y las sumas. Fácil, sencillo y para toda la familia.

1 respuesta
jockerwn

#10 mmm a ver si lo pillo, yo he creado variables que cada una hace una operacion, es decir, num3=num1+num2, num4=num1-num2...(selecciona suma,resta..),como "le asigno el valor que deulve la seleccion" a estas variables por ejemplo. Todo esto lo he puesto en el evento del boton Calcular.

1 respuesta
Spacelord

#11 Veamos.

Creas las variables num como variables globales dentro de la clase jFrame (o la que tengas que extienda de jFrame, que imagino que es donde estás trabajando) pero al principio, arriba, justo al crear la clase con el constructor y antes de cualquier método. Las creas y les asignas un valor de cero.

Luego, dentro del evento actionperformed del combobox, tomas el valor que se selecciona y se lo asignas a la variable num que quieras. Algo así:

num1 = jcombobox.getSelectedItem();

Eso va en el actionperformed del combobox, NO en el botón Calcular. En el botón Calcular lo que haces es recuperar esas variables num y sumarlas. Lo de crear las variables e inicializarlas a cero es para que al darle al botón Calcular sin haber seleccionado nada del combobox te salte una excepción de nullpointer. Se podría hacer con un try-catch, pero tampoco lo veo necesario.

1 respuesta
jockerwn

#12 vale vale, muchas gracias por la explicacion, pero ahora dejando de lado lo que me has explicado como se pondria en un if el item seleccionado y que haga la operacion que lleva este item, es decir,
if(elementoseleccionado = "Suma" ){
sum1+sum2
}

bien, pues ese 'elementoseleccionado' que he puesto ahi, es la supuesta sintaxis que no se que tendria q poner o si se podria hacer asi, o con getselecteditem....nose.
Gracias de todas formas :)

1 respuesta
Spacelord

#13 Si "Suma" es un string cambias el código de arriba por este:

String cadena = jcombobox.getSelectedItem()

En este caso, el string "cadena" es lo que tú has puesto como "elementoseleccionado".

1 respuesta
jockerwn

#14 a "Suma" me referia que es un item del selector al igual que "Resta" "Division"..entonces segun entiendo tendria que poner:

if(selector.getSelectedItem() == "Suma")
num1+num2
}else{
if(selector.getSelectedItem() == "Resta")
num1-num2
........
es mas o menos eso a lo que me refiero, osea que segun la opcion del selector que coja haga una cosa u otra, no se si me explico bien yy tampoco se si se puede poner asi.

1 respuesta
Spacelord

#15 Usa el tag code, que queda más claro el código.

Vale, no te había entendido. Entonces tú tienes ya creados e inicializados los nums y lo que quieres es que, dependiendo de lo que elija el usuario en el combobox, realice la operación correspondiente. Si es eso, es el código que te pongo en #14 con la diferencia de que un string no se compara con ==, sino que es mejor hacerlo con el método equals:

selector.getSelectedItem().equals("Suma");

Es un método que compara dos objetos sean de la clase que sean, para un string viene mejor.

3 respuestas
jockerwn

#16 vale vale creo que puede funcionar, luego lo pruebo y te digo. Muchisimas gracias.

jockerwn

#16 Perfectisimo, me ha funcionado, gracias de nuevo. Si tengo alguna duda mas me pasare por aqui ;)

1
jockerwn

#16 Y aqui va otra xDD, que siempre me he preguntado. Se puede poner un boton de donar (de paypal) en mi app, con el codigo html que te facilita paypal, ponerlo en java. He probado mil formas de como dicen pero meter un <form> ..me da a mi que no es como lo hago. :)

Usuarios habituales

  • jockerwn
  • Spacelord
  • elkaoD
  • Mewtwo
  • Lecherito