You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/siprp/medicina/processo/detalhes/EstadoChooser.java

93 lines
1.8 KiB

/*
* EstadoChooser.java
*
* Created on 13 de Maio de 2007, 11:54
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package siprp.medicina.processo.detalhes;
import com.evolute.utils.ui.CustomJDialog;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import siprp.medicina.MedicinaConstants;
/**
*
* @author Frederico
*/
public class EstadoChooser extends CustomJDialog
implements MedicinaConstants, ActionListener
{
protected int tipo;
protected int estado;
protected HashMap<JButton,Integer> buttonMap;
/** Creates a new instance of EstadoChooser */
public EstadoChooser( JFrame owner, int tipo, int estadoActual )
{
super( owner, true );
this.tipo = tipo;
estado = estadoActual;
setupComponents();
if( owner != null )
{
centerSuper();
}
else
{
center();
}
}
private void setupComponents()
{
setTitle( "Escolha o novo estado" );
setLayout( new GridLayout( ESTADOS_STR[ tipo ].length, 1 ) );
for( int n = 0; n < ESTADOS_STR[ tipo ].length; n++ )
{
JButton button = new JButton( ESTADOS_STR[ tipo ][ n ] );
if( n == estado )
{
button.setForeground( Color.green );
}
buttonMap.put( button, new Integer( n ) );
add( button );
button.addActionListener( this );
}
pack();
}
public void actionPerformed( ActionEvent e )
{
JButton source = ( JButton ) e.getSource();
estado = buttonMap.get( source ).intValue();
close();
}
public void close()
{
SwingUtilities.invokeLater( new Runnable(){
public void run()
{
setVisible( false );
dispose();
}
} );
}
public int getEstado()
{
return estado;
}
}