Article View: es.comp.lenguajes.java
Article #26649Re: Como poner un MessageBox, como dibujar una onda sinusoidal y una linea segmentada
From: Pere Vilas
Date: Wed, 09 Dec 1998 00:00
Date: Wed, 09 Dec 1998 00:00
132 lines
4511 bytes
4511 bytes
Jaime Stuardo escribi� en mensaje <366C154E.6D0CD878@aclaris.cl>...
>Hola a todos..
>
>3 preguntas:
>
>1) quiero poner un mensaje de advertencia al usuario mediante un
>MessageBox. He buscado en la ayuda pero no sale nada parecido, incluso
>busque si existia la funcion alert( ) asi como en javascript, pero
>nada... como se hace?
>
// MsgBox.java -- cuadro de mensaje de estilo VB para Java
// Copyright 1997, Martin L. Rinehart
// este c�digo est� completamente documentado en:
// _Desarrollo de base de datos en Java_, Martin Rinehart,
// Osborne/McGraw-Hill, 1997
/*
Mostrar un cuadro de informaci�n sin codificar demasiado.
*/
import java.awt.*;
class MsgBox extends Frame {
// --------------------- datos miembro --------------------
// datos miembro public:
public String message;
public String title;
// no hay datos miembro protected
// no hay datos miembro static
// -------------------- m�todos p�blicos ---------------------
// constructores:
MsgBox( String msg ) {
this( msg, "Atenci�n" );
}
MsgBox( String msg, String title ) {
super( title );
this.title = title;
message = msg;
resize( good_width(), 120 );
Label lblMessage = new Label( message );
lblMessage.setAlignment( Label.CENTER );
add( "Center", lblMessage );
add( "South", new OKbtn(this) );
// centrar en la pantalla:
show(); hide(); // obtener el control de la posici�n
Toolkit tk = getToolkit();
Dimension d = tk.getScreenSize();
move ( (d.width - size().width)/2,
(d.height - size().height)/2 );
}
// no hay m�todos de acceso a datos getXxx()
// no hay m�todos de acceso a datos isXxx()
// no hay m�todos de acceso a datos setXxx()
// no hay m�todos p�blicos, espec�ficos de la clase
// m�todo de sobreescritura p�blico, no de manejo de sucesos:
public String paramString() {
return "mens: " + message +
" t�tulo: " + title;
}
// m�todo de manejo de sucesos p�blico:
public boolean handleEvent( Event e ) {
if ( e.id == Event.WINDOW_DESTROY ) {
hide();
dispose();
return true;
}
return super.handleEvent( e );
}
// ------------------- m�todos privados -------------------
// m�todo private:
private int good_width() {
int wid1, wid2;
setFont( new Font("Helvetica", Font.PLAIN, 12) );
FontMetrics fm = getFontMetrics( getFont() );
wid1 = 50 + fm.stringWidth( message );
wid2 = 150 + fm.stringWidth( title );
if ( wid1 > wid2 )
return wid1;
else
return wid2;
}
} // fin de la clase MsgBox
// clase privada de MsgBox.java:
class OKbtn extends Button {
MsgBox parent;
OKbtn( MsgBox mb ) {
super( " OK " );
parent = mb;
}
public boolean handleEvent( Event e ) {
parent.postEvent( new Event(null,
Event.WINDOW_DESTROY, null) );
return true;
}
} // fin de OKbtn
// fin de MsgBox.java
>2) estoy haciendo un programa que obtenga el bioritmo de una persona,
>para eso tengo que dibujar ondas sinusoidales. Como me recomiendan
>hacerlo para que la onda no se vea como tan cuadrada si la hago con
>puras drawLine, ademas de que sea rapido su refrezco
>
Un buen libro de gr�ficos es el de Foley y Van Damm, creo recordar que se
titula Graphics Programming.
>3) Como dibujar una linea segmentada?
>
>Gracias de antemano si responden al menos a una pregunta :)
>Jaime
>
>--
>-----------------------------------------------------
>Jaime A. Stuardo B.
>Ing. Civil Electr�nica
>Universidad T�cnica Federico Santa Mar�a
>Valpo.
>
>e-mail: jstuardo@alumnos.utfsm.cl
>pagina: http://ya.viene.cl
>-----------------------------------------------------
>
>
Technical Details
Message-ID:
<74lt61$a57@wendy.mad.servicom.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<366C154E.6D0CD878@aclaris.cl>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,3de4ed8d0970a50c X-Google-Attributes: gid1116f3,public From: "Pere Vilas" <bes@mx3.redestb.es> Subject: Re: Como poner un MessageBox, como dibujar una onda sinusoidal y una linea segmentada Date: 1998/12/09 Message-ID: <74lt61$a57@wendy.mad.servicom.es> X-Deja-AN: 420421851 References: <366C154E.6D0CD878@aclaris.cl> X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 Organization: SERVICOM Newsgroups: es.comp.lenguajes.java