Java - Ventana sin boton cerrar

 
Vista:

Ventana sin boton cerrar

Publicado por Mercedes (125 intervenciones) el 14/06/2007 16:43:08
Quiero que en mi aplicación cuando se vaya a cargar una página se abra antes otra (window.open() mediante onload en el tag body). Pero quiero que no tenga el botón de cerrar, y que el uuario no pueda acceder a la página de atrás. Y esto último no sé cómo hacerlo.

En concreto, lo que quiero es que cuando se cargue esa página, el usuario debe antes rellenar un formulario y una vez que pulse aceptar, la ventana que se había desplegado se cierre y se vea la principal. Pero con la condición de que el usuario no pueda acceder a la ventana de atrás mientras está la otra abierta.

Con tanta ventana no sé si me habréis entendido.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ventana sin boton cerrar

Publicado por Himura (184 intervenciones) el 14/06/2007 17:14:23
Hola,

Te refieres al browser??? si es asi, tal vez lo puedas hacer con JavaScript.

Hay scripts que te funcionaran en el InternetExplorer de Windows y no en FireFox y viceversa.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana sin boton cerrar

Publicado por Mercedes (125 intervenciones) el 14/06/2007 17:35:51
Pues es que he estado buscando por ahí y no he encontrado nada. He leído que puedes controlar el evento al intentar cerrar la ventana (como poner un mensaje), pero nada acerca de cómo deshabilitar el botón de cerrar y que el usuario no pueda acceder a la pantalla de atrás.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana sin boton cerrar

Publicado por angel (537 intervenciones) el 14/06/2007 17:40:24
Si lo que habres es un JDialog........

Para que no se pueda acceder a la ventana por detras:
Dialog1 d1 = new Dialog1(this,"NuevoDialogo",true); // con true..no permite acceder a la ventana por detras,,con false si..

Para que no aparezca el boton cerrar:
d1.setUndecorated(true);

d1.setVisible(true); //Hazlo visible

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana sin boton cerrar

Publicado por Gonzalo (180 intervenciones) el 14/06/2007 19:00:40
Personalmente no te recomiendo que lo hagas.

Pero en fin, si quieres hacerlo, una forma posible es no abrir ninguna ventana, sino utilizar capas dentro de la misma página. Se podría hacer algo como poner por encima de tu página una capa que ocupe toda la ventana. Al estar por encima no permite que se haga nada en todo lo que hay debajo (tu página). La puedes hacer semitransparente para que se vea un poco.

Luego encima de esa capa pones otra y en ella el formulario. Así, lo único que queda accesible es el formulario que está en esa capa. Cuando el usuario lo rellene, puedes hacer con Javascript que se envíe de forma oculta (con un frame oculto o con AJAX) y a la vez, desactivar la capa que tapa todo (ocultarla).

Si lo haces con ventanas... Puede que el usuario tenga bloqueados los popups, o simplemente puede cerrar la ventana.

Sea como sea, vuelvo a repetir que te recomiendo que no lo hagas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana sin boton cerrar

Publicado por Mercedes (125 intervenciones) el 15/06/2007 09:33:27
Buenos días Gonzalo.

Acabo de leer tu post, y la verdad que es el que más me ha convencido. ¿Te importaría explicarme un poco más detalladamente?¿Con qué debo hacer las capas (<div>??)?....

Gracias

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana sin boton cerrar

Publicado por Mercedes (125 intervenciones) el 15/06/2007 10:53:17
Te comento que ya he estado informándome mejor e intentando probar esto de las capas, pero me sucede lo siguiente.

Para probar he puesto en la capa del fondo un texto y un boton, y encima he puesto la capa transparente. Lo que ocurre es que la capa transparente deja ver el texto, pero yo no veo ni el botón, ni el textfield. Todavía no me he metido con el formulario, sólo estoy intentando que funcione esto de la transparencia.

Este es el código que he utilizado:

#capaprincipal {
z-index: 1;
position: absolute;
width: 100%;
padding-left: 0%;
margin-top: 0px;
}

#transparente {
z-index: 2;
position: absolute;
width: 100%;
height: 100%;
background-color: rgb(78, 108, 198);
filter: alpha(opacity = 40);
-moz-opacity: 0.4;
opacity: 0.4;
/*overflow:auto;*/
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana sin boton cerrar

Publicado por Mercedes (125 intervenciones) el 15/06/2007 11:03:06
Lo siento, ya está solucionado. El problema estaba en un despiste, nada que ver con la transparencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana sin boton cerrar

Publicado por Gonzalo (180 intervenciones) el 15/06/2007 14:31:44
Bueno, hasta el lunes no voy a mirar esto. Si para entonces no lo tienes, dilo.

Mientras te pongo un ejemplo que tenía hecho yo por ahí para otra cosa:

La capa transparente es:
<div id='transLayer' style='position:absolute; left:0px; top:0px; visibility:hidden; text-align:center; z-index: 99;background:#DDDDFF;filter:alpha(opacity=30);opacity:.30;cursor:wait;width:100%; height:100%'> </div>

Le meto un nbsp; para que no esté vacía.

<div id='formularioLayer' style='position:absolute; left:420px; top:260px; visibility:hidden; text-align:center; z-index: 100'>
Aquí metes tu formulario
</div>

Por defecto yo ponía las capas con visibility:hidden y luego con Javascript mostraba las capas cuando lo necesitaba. Pero si tú quieres que estén visibles desde el principio no se lo pongas.

También verás que la capa formularioLayer le pongo la posición fija (420,260) en realidad es que también con Javascript saco el medio de la pantalla, según el tamaño del contenido. Así que no le hagas mucho caso a eso tampoco.

Lo que realmente importa es:
Una capa con index 99, que ocupe todo, que tenga transparencia si quieres, y también queda bien ponerle cursor:wait.
Otra capa con index 100, en la que metes el formulario ese que quieres que quede por encima.

Esto quizá te dé algún problema si debajo de la capa que ocupa todo tienes <select> porque igual se ven de todos modos. Para eso yo usaba esta funcioncita...
var esconderTodosLosElementos = false;
function esconderCombos(flag) {
var formularios = document.forms;
for (i=0;i<formularios.length;i++){
var elems = formularios[i].elements;
for (j=0;j<elems.length;j++) {
if ((elems[j].type == "select")||(elems[j].type == "select-one")||(elems[j].type == "select-multiple")||esconderTodosLosElementos) {
elems[j].style.visibility = (flag) ? 'hidden' : 'visible';
}
}
}
}

Bueno, eso, que si tienes algún problema lo comentes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar