diff --git a/Fuentes/com/tarisan/chipcard/gui/AutomaticCloseDialog.java b/Fuentes/com/tarisan/chipcard/gui/AutomaticCloseDialog.java new file mode 100644 index 0000000..53aa839 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/AutomaticCloseDialog.java @@ -0,0 +1,69 @@ +package com.tarisan.chipcard.gui; + + +import javax.swing.JDialog; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +/** + * @author jjrider + */ +public class AutomaticCloseDialog extends JDialog implements ActionListener,Runnable { + + private int intNumeroSegundos=5; + private Thread objThread=null; + + public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos){ + super(); + setUndecorated(false); + setSize(320,150); + this.intNumeroSegundos=intNumeroSegundos; + setTitle(strTitle); + getContentPane().setLayout(null); + + JLabel label=new JLabel(strMensaje); + label.setBounds(40,40,300,20); + getContentPane().add(label); + + JButton btnAceptar=new JButton("Aceptar"); + btnAceptar.setActionCommand("Aceptar"); + btnAceptar.addActionListener(this); + btnAceptar.setBounds(115,80,90,20); + getContentPane().add(btnAceptar); + objThread=new Thread(this); + validate(); + centerOnScreen(this); + objThread.start(); + show(); + + } + + public void actionPerformed(ActionEvent e){ + hide(); + } + + public static void centerOnScreen(JDialog dialog){ + if(dialog==null) + return; + Dimension dimFrame=java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + Dimension dimDialog=dialog.getSize(); + int distanceWidth=dimFrame.width-dimDialog.width; + distanceWidth=distanceWidth/2; + int distanceHeight=dimFrame.height-dimDialog.height; + distanceHeight=distanceHeight/2; + dialog.setBounds(distanceWidth,distanceHeight,dimDialog.width,dimDialog.height); + } + + public void run(){ + try{ + objThread.sleep(intNumeroSegundos*1000); + }catch(Exception err){ + } + hide(); + } + + + +} + diff --git a/Fuentes/com/tarisan/chipcard/gui/ComboCellRenderer.java b/Fuentes/com/tarisan/chipcard/gui/ComboCellRenderer.java new file mode 100644 index 0000000..fe39a05 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/ComboCellRenderer.java @@ -0,0 +1,68 @@ +package com.tarisan.chipcard.gui; + +import java.awt.Component; + +import javax.swing.Icon; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; +import java.util.*; + +/**** + * Se encarga de personalizar un combo + * @author jjrider + * + */ +public class ComboCellRenderer extends JLabel implements ListCellRenderer { + HashMap hshImagenes=new HashMap(); + + private int nHeight=40; + + public ComboCellRenderer() { + super(""); + setOpaque(true); + setVerticalTextPosition(JLabel.CENTER); + setHorizontalTextPosition(JLabel.RIGHT); + setHorizontalAlignment(LEFT); + setVerticalAlignment(CENTER); + //setFont(new java.awt.Font("Tahoma",java.awt.Font.BOLD,14)); + //setPreferredSize(new java.awt.Dimension(120,nHeight)); + //setMinimumSize(new java.awt.Dimension(120,35)); + } + + public void addIcon(Object sValue,Icon icon){ + //System.out.println("addIcon:'"+sValue+"'->"+icon.getIconHeight()); + hshImagenes.put(sValue.toString(),icon); + if(icon!=null){ + nHeight=Math.max(icon.getIconHeight(),nHeight); + setPreferredSize(new java.awt.Dimension(Math.max(getWidth(),160),nHeight)); + } + } + + public void removeIcon(String sValue){ + hshImagenes.remove(sValue); + } + + public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus) + { + if(value!=null){ + setText(value.toString()); + //setBackground(isSelected ? Color.GREEN : Color.white); + //setForeground(isSelected ? Color.white : Color.black); + } + if(value!=null){ + //System.out.println("getListCellRendererComponent:'"+value+"'"); + Icon icon=(Icon)hshImagenes.get(value.toString()); + if(icon!=null){ + setIcon(icon); + }else{ + setIcon(null); + } + }else{ + setText(""); + setIcon(null); + } + return this; + } +} + diff --git a/Fuentes/com/tarisan/chipcard/gui/DateChooser.java b/Fuentes/com/tarisan/chipcard/gui/DateChooser.java new file mode 100644 index 0000000..bd49a7f --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/DateChooser.java @@ -0,0 +1,491 @@ +package com.tarisan.chipcard.gui; + +/** + * @author jjrider + */ +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import javax.swing.*; +import javax.swing.border.*; + + +/** + * Custom dialog box to enter dates. The DateChooser + * class presents a calendar and allows the user to visually select a + * day, month and year so that it is impossible to enter an invalid + * date. + **/ +public class DateChooser extends JDialog + implements ItemListener, MouseListener, FocusListener, KeyListener, ActionListener +{ + /** Names of the months. */ + private static final String[] MONTHS = + new String[] { + "Enero", + "Febrero", + "Marzo", + "Abril", + "Mayo", + "Junio", + "Julio", + "Agosto", + "Septiembre", + "Octubre", + "Noviembre", + "Diciembre" + }; + + /** Names of the days of the week. */ + private static final String[] DAYS = + new String[] { + "Lun", + "Mar", + "Mie", + "Jue", + "Vie", + "Sab", + "Dom" + }; + + /** Text color of the days of the weeks, used as column headers in + the calendar. */ + private static final Color WEEK_DAYS_FOREGROUND = Color.black; + + /** Text color of the days' numbers in the calendar. */ + private static final Color DAYS_FOREGROUND = Color.blue; + + /** Background color of the selected day in the calendar. */ + private static final Color SELECTED_DAY_FOREGROUND = Color.white; + + /** Text color of the selected day in the calendar. */ + private static final Color SELECTED_DAY_BACKGROUND = Color.blue; + + /** Empty border, used when the calendar does not have the focus. */ + private static final Border EMPTY_BORDER = BorderFactory.createEmptyBorder(1,1,1,1); + + /** Border used to highlight the selected day when the calendar + has the focus. */ + private static final Border FOCUSED_BORDER = BorderFactory.createLineBorder(Color.yellow,1); + + /** First year that can be selected. */ + private static final int FIRST_YEAR = 1900; + + /** Last year that can be selected. */ + private static final int LAST_YEAR = 2100; + + /** Auxiliary variable to compute dates. */ + private Calendar calendar; + + /** Calendar, as a matrix of labels. The first row represents the + first week of the month, the second row, the second week, and + so on. Each column represents a day of the week, the first is + Sunday, and the last is Saturday. The label's text is the + number of the corresponding day. */ + private JLabel[][] days; + + /** Day selection control. It is just a panel that can receive the + focus. The actual user interaction is driven by the + DateChooser class. */ + private FocusablePanel daysGrid; + + /** Month selection control. */ + private JComboBox month; + + /** Year selection control. */ + private JComboBox year; + + /** "Ok" button. */ + private JButton ok; + + /** "Cancel" button. */ + private JButton cancel; + + /** Day of the week (0=Sunday) corresponding to the first day of + the selected month. Used to calculate the position, in the + calendar ({@link #days}), corresponding to a given day. */ + private int offset; + + /** Last day of the selected month. */ + private int lastDay; + + /** Selected day. */ + private JLabel day; + + /** true if the "Ok" button was clicked to close the + dialog box, false otherwise. */ + private boolean okClicked; + + + + /** + * Custom panel that can receive the focus. Used to implement the + * calendar control. + **/ + private static class FocusablePanel extends JPanel + { + /** + * Constructs a new FocusablePanel with the given + * layout manager. + * + * @param layout layout manager + **/ + public FocusablePanel( LayoutManager layout ) { + super( layout ); + } + + + /** + * Always returns true, since + * FocusablePanel can receive the focus. + * + * @return true + **/ + public boolean isFocusTraversable() { + return true; + } + } + + + + /** + * Initializes this DateChooser object. Creates the + * controls, registers listeners and initializes the dialog box. + **/ + private void construct() + { + calendar = Calendar.getInstance();//new Calendar();//GregorianCalendar(); + + month = new JComboBox(MONTHS); + month.addItemListener( this ); + + year = new JComboBox(); + for ( int i=FIRST_YEAR; i<=LAST_YEAR; i++ ) + year.addItem( Integer.toString(i) ); + year.addItemListener( this ); + + days = new JLabel[7][7]; + for ( int i=0; i<7; i++ ) { + days[0][i] = new JLabel(DAYS[i],JLabel.RIGHT); + days[0][i].setForeground( WEEK_DAYS_FOREGROUND ); + } + for ( int i=1; i<7; i++ ) + for ( int j=0; j<7; j++ ) + { + days[i][j] = new JLabel(" ",JLabel.RIGHT); + days[i][j].setForeground( DAYS_FOREGROUND ); + days[i][j].setBackground( SELECTED_DAY_BACKGROUND ); + days[i][j].setBorder( EMPTY_BORDER ); + days[i][j].addMouseListener( this ); + } + + ok = new JButton("Aceptar"); + ok.addActionListener( this ); + cancel = new JButton("Cancelar"); + cancel.addActionListener( this ); + + JPanel monthYear = new JPanel(); + monthYear.add( month ); + monthYear.add( year ); + + daysGrid = new FocusablePanel(new GridLayout(7,7,5,0)); + daysGrid.addFocusListener( this ); + daysGrid.addKeyListener( this ); + for ( int i=0; i<7; i++ ) + for ( int j=0; j<7; j++ ) + daysGrid.add( days[i][j] ); + daysGrid.setBackground( Color.white ); + daysGrid.setBorder( BorderFactory.createLoweredBevelBorder() ); + JPanel daysPanel = new JPanel(); + daysPanel.add( daysGrid ); + + JPanel buttons = new JPanel(); + buttons.add( ok ); + buttons.add( cancel ); + + Container dialog = getContentPane(); + dialog.add( "North", monthYear ); + dialog.add( "Center", daysPanel ); + dialog.add( "South", buttons ); + + pack(); + setResizable( false ); + UtilGUI.centerOnWindow(this,getOwner()); + } + + + + /** + * Gets the selected day, as an int. Parses the text + * of the selected label in the calendar to get the day. + * + * @return the selected day or -1 if there is no day selected + **/ + private int getSelectedDay() + { + if ( day == null ) + return -1 ; + try { + return Integer.parseInt(day.getText()); + } catch ( NumberFormatException e ) { + } + return -1; + } + + + + /** + * Sets the selected day. The day is specified as the label + * control, in the calendar, corresponding to the day to select. + * + * @param newDay day to select + **/ + private void setSelected( JLabel newDay ) + { + if ( day != null ) { + day.setForeground( DAYS_FOREGROUND ); + day.setOpaque( false ); + day.setBorder( EMPTY_BORDER ); + } + day = newDay; + day.setForeground( SELECTED_DAY_FOREGROUND ); + day.setOpaque( true ); + if ( daysGrid.hasFocus() ) + day.setBorder( FOCUSED_BORDER ); + } + + + + /** + * Sets the selected day. The day is specified as the number of + * the day, in the month, to selected. The function compute the + * corresponding control to select. + * + * @param newDay day to select + **/ + private void setSelected( int newDay ) + { + setSelected( days[(newDay+offset-1)/7+1][(newDay+offset-1)%7] ); + } + + + + /** + * Updates the calendar. This function updates the calendar panel + * to reflect the month and year selected. It keeps the same day + * of the month that was selected, except if it is beyond the last + * day of the month. In this case, the last day of the month is + * selected. + **/ + private void update() + { + int iday = getSelectedDay(); + for ( int i=0; i<7; i++ ) { + days[1][i].setText( " " ); + days[5][i].setText( " " ); + days[6][i].setText( " " ); + } + calendar.set( Calendar.DATE, 1 ); + calendar.set( Calendar.MONTH, month.getSelectedIndex()+Calendar.JANUARY ); + calendar.set( Calendar.YEAR, year.getSelectedIndex()+FIRST_YEAR ); + + offset = calendar.get(Calendar.DAY_OF_WEEK)-Calendar.MONDAY; + lastDay = calendar.getActualMaximum(Calendar.DATE); + for ( int i=0; i lastDay ) + iday = lastDay; + setSelected( iday ); + } + } + + + + /** + * Called when the "Ok" button is pressed. Just sets a flag and + * hides the dialog box. + **/ + public void actionPerformed( ActionEvent e ) { + if ( e.getSource() == ok ) + okClicked = true; + hide(); + } + + /** + * Called when the calendar gains the focus. Just re-sets the + * selected day so that it is redrawn with the border that + * indicate focus. + **/ + public void focusGained( FocusEvent e ) { + setSelected( day ); + } + + /** + * Called when the calendar loses the focus. Just re-sets the + * selected day so that it is redrawn without the border that + * indicate focus. + **/ + public void focusLost( FocusEvent e ) { + setSelected( day ); + } + + /** + * Called when a new month or year is selected. Updates the calendar + * to reflect the selection. + **/ + public void itemStateChanged( ItemEvent e ) { + update(); + } + + /** + * Called when a key is pressed and the calendar has the + * focus. Handles the arrow keys so that the user can select a day + * using the keyboard. + **/ + public void keyPressed( KeyEvent e ) { + int iday = getSelectedDay(); + switch ( e.getKeyCode() ) { + case KeyEvent.VK_LEFT: + if ( iday > 1 ) + setSelected( iday-1 ); + break; + case KeyEvent.VK_RIGHT: + if ( iday < lastDay ) + setSelected( iday+1 ); + break; + case KeyEvent.VK_UP: + if ( iday > 7 ) + setSelected( iday-7 ); + break; + case KeyEvent.VK_DOWN: + if ( iday <= lastDay-7 ) + setSelected( iday+7 ); + break; + } + } + + /** + * Called when the mouse is clicked on a day in the + * calendar. Selects the clicked day. + **/ + public void mouseClicked( MouseEvent e ) { + JLabel day = (JLabel)e.getSource(); + if ( !day.getText().equals(" ") ) + setSelected( day ); + daysGrid.requestFocus(); + } + + public void keyReleased( KeyEvent e ) {} + public void keyTyped( KeyEvent e ) {} + public void mouseEntered( MouseEvent e ) {} + public void mouseExited( MouseEvent e) {} + public void mousePressed( MouseEvent e ) {} + public void mouseReleased( MouseEvent e) {} + + + + /** + * Constructs a new DateChooser with the given title. + * + * @param owner owner dialog + * + * @param title dialog title + **/ + public DateChooser( Dialog owner, String title ) + { + super( owner, title, true ); + construct(); + } + + + + /** + * Constructs a new DateChooser. + * + * @param owner owner dialog + **/ + public DateChooser( Dialog owner ) + { + super( owner, true ); + construct(); + } + + + + /** + * Constructs a new DateChooser with the given title. + * + * @param owner owner frame + * + * @param title dialog title + **/ + public DateChooser( Frame owner, String title ) + { + super( owner, title, true ); + construct(); + } + + + + /** + * Constructs a new DateChooser. + * + * @param owner owner frame + **/ + public DateChooser( Frame owner ) + { + super( owner, true ); + construct(); + } + + + + /** + * Selects a date. Displays the dialog box, with a given date as + * the selected date, and allows the user select a new date. + * + * @param date initial date + * + * @return the new date selected or null if the user + * press "Cancel" or closes the dialog box + **/ + public Date select( Date date ) + { + calendar.setTime( date ); + int _day = calendar.get(Calendar.DATE); + int _month = calendar.get(Calendar.MONTH); + int _year = calendar.get(Calendar.YEAR); + + year.setSelectedIndex( _year-FIRST_YEAR ); + month.setSelectedIndex( _month-Calendar.JANUARY ); + setSelected( _day ); + okClicked = false; + show(); + if ( !okClicked ) + return null; + calendar.set( Calendar.DATE, getSelectedDay() ); + calendar.set( Calendar.MONTH, month.getSelectedIndex()+Calendar.JANUARY ); + calendar.set( Calendar.YEAR, year.getSelectedIndex()+FIRST_YEAR ); + return calendar.getTime(); + } + + + + /** + * Selects new date. Just calls {@link #select(Date)} with the + * system date as the parameter. + * + * @return the same as the function {@link #select(Date)} + **/ + public Date select() + { + return select(new Date()); + } +} + + diff --git a/Fuentes/com/tarisan/chipcard/gui/Detalles.java b/Fuentes/com/tarisan/chipcard/gui/Detalles.java new file mode 100644 index 0000000..559dbab --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/Detalles.java @@ -0,0 +1,320 @@ +/* + * Created on 28-sep-2004 + * + * To change the template for this generated file go to + * Window>Preferences>Java>Code Generation>Code and Comments + */ +package com.tarisan.chipcard.gui; + +import java.awt.*; + +import javax.swing.*; +/** + * This type was created in VisualAge. + */ +public class Detalles extends javax.swing.JInternalFrame implements java.awt.event.ActionListener { + private javax.swing.JButton ivjAceptar = null; + private javax.swing.JButton ivjDescripcion = null; + private javax.swing.JLabel ivjEtiqueta = null; + private javax.swing.JPanel ivjJInternalFrameContentPane = null; + private javax.swing.JPanel ivjPanel = null; + private Editor edit = new Editor(); + String mensaje = new String(); + String error = new String(); + Toolkit t = Toolkit.getDefaultToolkit(); + Icon icono = (Icon) UIManager.get("OptionPane.errorIcon"); + + +/** + * Constructor + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +public Detalles(String strTitle, String error, String mensaje) { + super("Error"); + this.mensaje = mensaje; + this.error = error; + initialize(); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + */ + +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + */ +public Detalles(String title, boolean resizable) { + super(title, resizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + */ +public Detalles(String title, boolean resizable, boolean closable) { + super(title, resizable, closable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + * @param maximizable boolean + */ +public Detalles(String title, boolean resizable, boolean closable, boolean maximizable) { + super(title, resizable, closable, maximizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + * @param maximizable boolean + * @param iconifiable boolean + */ +public Detalles(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) { + super(title, resizable, closable, maximizable, iconifiable); +} + + +/** + * Comment + */ +public void aceptar_ActionPerformed(java.awt.event.ActionEvent actionEvent) { + try + { + this.setClosed(true); + } + catch (java.beans.PropertyVetoException w) + { + //System.out.println("hola"); + } + return; +} + +public void actionPerformed(java.awt.event.ActionEvent e) { + // user code begin {1} + // user code end + if ((e.getSource() == getAceptar()) ) { + connEtoC2(e); + } + + if ((e.getSource() == getDescripcion()) ) { + connEtoC3(e); + } + // user code begin {2} + // user code end +} + +/** + * connEtoC2: (Aceptar.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.aceptar_ActionPerformed(Ljava.awt.event.ActionEvent;)V) + * @param arg1 java.awt.event.ActionEvent + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ + +private void connEtoC2(java.awt.event.ActionEvent arg1) { + try { + // user code begin {1} + // user code end + this.aceptar_ActionPerformed(arg1); + // user code begin {2} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {3} + // user code end + handleException(ivjExc); + } +} + +/** + * connEtoC3: (Descripcion.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.descripcion_ActionPerformed(Ljava.awt.event.ActionEvent;)V) + * @param arg1 java.awt.event.ActionEvent + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void connEtoC3(java.awt.event.ActionEvent arg1) { + try { + // user code begin {1} + // user code end + this.descripcion_ActionPerformed(arg1); + // user code begin {2} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {3} + // user code end + handleException(ivjExc); + } +} +/** + * Comment + */ +public void descripcion_ActionPerformed(java.awt.event.ActionEvent actionEvent) { + if(this.getSize().height == 110) + { + ivjDescripcion.setText("\u00AB Descripcin"); + this.setSize(this.getSize().width,193); + edit.append(mensaje, new Color(0xFF0000)); + } + else + { + ivjDescripcion.setText("Descripcin \u00BB"); + this.setSize(this.getSize().width,110); + edit.remove(); + } + return; +} +/** + * Return the Aceptar property value. + * @return javax.swing.JButton + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JButton getAceptar() { + if (ivjAceptar == null) { + try { + ivjAceptar = new javax.swing.JButton(); + ivjAceptar.setName("Aceptar"); + ivjAceptar.setText("Aceptar"); + ivjAceptar.setBounds(33, 56, 85, 17); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjAceptar; +} + +private javax.swing.JButton getDescripcion() { + if (ivjDescripcion == null) { + try { + ivjDescripcion = new javax.swing.JButton(); + ivjDescripcion.setName("Descripcion"); + ivjDescripcion.setText("Descripcin \u00BB"); + ivjDescripcion.setBounds(170, 56, 115, 17); + ivjDescripcion.setActionCommand("Descripcion"); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjDescripcion; +} +/** + * Return the Etiqueta property value. + * @return javax.swing.JLabel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JLabel getEtiqueta() { + if (ivjEtiqueta == null) { + try { + ivjEtiqueta = new javax.swing.JLabel(); + ivjEtiqueta.setName("Etiqueta"); + ivjEtiqueta.setIcon(icono); + ivjEtiqueta.setText(error); + ivjEtiqueta.setBounds(15, 14, 258, 28); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjEtiqueta; +} +/** + * Return the JInternalFrameContentPane property value. + * @return javax.swing.JPanel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JPanel getJInternalFrameContentPane() { + if (ivjJInternalFrameContentPane == null) { + try { + ivjJInternalFrameContentPane = new javax.swing.JPanel(); + ivjJInternalFrameContentPane.setName("JInternalFrameContentPane"); + ivjJInternalFrameContentPane.setLayout(null); + getJInternalFrameContentPane().add(getAceptar(), getAceptar().getName()); + getJInternalFrameContentPane().add(getEtiqueta(), getEtiqueta().getName()); + getJInternalFrameContentPane().add(getPanel(), getPanel().getName()); + getJInternalFrameContentPane().add(getDescripcion(), getDescripcion().getName()); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjJInternalFrameContentPane; +} +/** + * Return the Panel property value. + * @return javax.swing.JPanel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JPanel getPanel() { + + if (ivjPanel == null) { + try { + ivjPanel = new javax.swing.JPanel(); + ivjPanel.setName("Panel"); + ivjPanel.setLayout(new BorderLayout()); + ivjPanel.setBounds(12, 91, 282, 50); + ivjPanel.add("Center",edit); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjPanel; +} +/** + * Called whenever the part throws an exception. + * @param exception java.lang.Throwable + */ +private void handleException(Throwable exception) { + + /* Uncomment the following lines to print uncaught exceptions to stdout */ + // System.out.println("--------- UNCAUGHT EXCEPTION ---------"); + // exception.printStackTrace(System.out); +} +/** + * Initializes connections + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void initConnections() { + // user code begin {1} + // user code end + getAceptar().addActionListener(this); + getDescripcion().addActionListener(this); +} +/** + * Initialize the class. + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void initialize() { + // user code begin {1} + // user code end + setName("Detalles"); + setBounds((t.getScreenSize().width-317)/2,(t.getScreenSize().height-110)/2, 317, 110); + setContentPane(getJInternalFrameContentPane()); + initConnections(); + // user code begin {2} + // user code end +} +/** + * main entrypoint - starts the part when it is run as an application + * @param args java.lang.String[] + */ +} + diff --git a/Fuentes/com/tarisan/chipcard/gui/DetallesDialog.java b/Fuentes/com/tarisan/chipcard/gui/DetallesDialog.java new file mode 100644 index 0000000..b1afcf1 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/DetallesDialog.java @@ -0,0 +1,351 @@ +/* + * Created on 28-sep-2004 + * + * To change the template for this generated file go to + * Window>Preferences>Java>Code Generation>Code and Comments + */ +package com.tarisan.chipcard.gui; + +import java.awt.*; + +import javax.swing.*; + +public class DetallesDialog extends javax.swing.JDialog implements Runnable,java.awt.event.ActionListener { + private javax.swing.JButton ivjAceptar = null; + private javax.swing.JButton ivjDescripcion = null; + private javax.swing.JLabel ivjEtiqueta = null; + private javax.swing.JPanel ivjJInternalFrameContentPane = null; + private javax.swing.JPanel ivjPanel = null; + private Editor edit = new Editor(); + String mensaje = new String(); + String error = new String(); + Toolkit t = Toolkit.getDefaultToolkit(); + Icon icono = (Icon) UIManager.get("OptionPane.errorIcon"); + + private Thread objThread=null; + private int intNumeroSegundos=-1; +/** + * Constructor + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +public DetallesDialog(JFrame f,String strTitle, String error, String mensaje) { + this( f, strTitle, error, mensaje, null); +} +public DetallesDialog(JFrame f,String strTitle, String error, String mensaje, Icon icon) { + + super(f,strTitle); + this.mensaje = mensaje; + this.error = error; + if(icon!=null) + icono = icon; + initialize(); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + */ + +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + */ +public DetallesDialog(JFrame f,String title, boolean resizable) { + super(f,title); + setResizable(resizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + */ +public DetallesDialog(JFrame f,String title, boolean resizable, boolean closable) { + super(f,title); + setResizable(resizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + * @param maximizable boolean + */ +public DetallesDialog(JFrame f,String title, boolean resizable, boolean closable, boolean maximizable) { + super(f,title); + setResizable(resizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + * @param maximizable boolean + * @param iconifiable boolean + */ +public DetallesDialog(JFrame f,String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) { + super(f,title); + setResizable(resizable); +} + +// Center a dialog on screen +public static void centerDialog(Window frame) { + Dimension dialogSize = frame.getSize(); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + frame.setLocation(screenSize.width/2 - dialogSize.width/2, + screenSize.height/2 - dialogSize.height/2); +} +/** + * Comment + */ +public void aceptar_ActionPerformed(java.awt.event.ActionEvent actionEvent) { + try + { + dispose(); + } + catch (Exception w) + { + //System.out.println("hola"); + } + return; +} + +public void setAutomaticClose(int intSeconds){ + intNumeroSegundos=intSeconds; + objThread=new Thread(this); + objThread.start(); +} + +public void actionPerformed(java.awt.event.ActionEvent e) { + // user code begin {1} + // user code end + if ((e.getSource() == getAceptar()) ) { + connEtoC2(e); + } + + if ((e.getSource() == getDescripcion()) ) { + connEtoC3(e); + } + // user code begin {2} + // user code end +} + +/** + * connEtoC2: (Aceptar.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.aceptar_ActionPerformed(Ljava.awt.event.ActionEvent;)V) + * @param arg1 java.awt.event.ActionEvent + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ + +private void connEtoC2(java.awt.event.ActionEvent arg1) { + try { + // user code begin {1} + // user code end + this.aceptar_ActionPerformed(arg1); + // user code begin {2} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {3} + // user code end + handleException(ivjExc); + } +} + +/** + * connEtoC3: (Descripcion.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.descripcion_ActionPerformed(Ljava.awt.event.ActionEvent;)V) + * @param arg1 java.awt.event.ActionEvent + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void connEtoC3(java.awt.event.ActionEvent arg1) { + try { + // user code begin {1} + // user code end + this.descripcion_ActionPerformed(arg1); + // user code begin {2} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {3} + // user code end + handleException(ivjExc); + } +} +/** + * Comment + */ +public void descripcion_ActionPerformed(java.awt.event.ActionEvent actionEvent) { + if(this.getSize().height < 200) + { + ivjDescripcion.setText("\u00AB Descripcin"); + this.setSize(this.getSize().width,200); + edit.append(mensaje, new Color(0xFF0000)); + } + else + { + ivjDescripcion.setText("Descripcin \u00BB"); + this.setSize(this.getSize().width,110); + edit.remove(); + } + validate(); + repaint(); + return; +} +/** + * Return the Aceptar property value. + * @return javax.swing.JButton + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +public javax.swing.JButton getAceptar() { + if (ivjAceptar == null) { + try { + ivjAceptar = new javax.swing.JButton(); + ivjAceptar.setName("Aceptar"); + ivjAceptar.setText("Aceptar"); + ivjAceptar.setBounds(33, 56, 85, 17); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjAceptar; +} + +private javax.swing.JButton getDescripcion() { + if (ivjDescripcion == null) { + try { + ivjDescripcion = new javax.swing.JButton(); + ivjDescripcion.setName("Descripcion"); + ivjDescripcion.setText("Descripcin \u00BB"); + ivjDescripcion.setBounds(170, 56, 115, 17); + ivjDescripcion.setActionCommand("Descripcion"); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjDescripcion; +} +/** + * Return the Etiqueta property value. + * @return javax.swing.JLabel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JLabel getEtiqueta() { + if (ivjEtiqueta == null) { + try { + ivjEtiqueta = new javax.swing.JLabel(); + ivjEtiqueta.setName("Etiqueta"); + ivjEtiqueta.setIcon(icono); + ivjEtiqueta.setText(error); + ivjEtiqueta.setBounds(15, 14, 258, 28); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjEtiqueta; +} +/** + * Return the JInternalFrameContentPane property value. + * @return javax.swing.JPanel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +public javax.swing.JPanel getJInternalFrameContentPane() { + if (ivjJInternalFrameContentPane == null) { + try { + ivjJInternalFrameContentPane = new javax.swing.JPanel(); + ivjJInternalFrameContentPane.setName("JInternalFrameContentPane"); + ivjJInternalFrameContentPane.setLayout(null); + getJInternalFrameContentPane().add(getAceptar(), getAceptar().getName()); + getJInternalFrameContentPane().add(getEtiqueta(), getEtiqueta().getName()); + getJInternalFrameContentPane().add(getPanel(), getPanel().getName()); + getJInternalFrameContentPane().add(getDescripcion(), getDescripcion().getName()); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjJInternalFrameContentPane; +} +/** + * Return the Panel property value. + * @return javax.swing.JPanel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JPanel getPanel() { + + if (ivjPanel == null) { + try { + ivjPanel = new javax.swing.JPanel(); + ivjPanel.setName("Panel"); + ivjPanel.setLayout(new BorderLayout()); + ivjPanel.setBounds(12, 91, 282, 50); + ivjPanel.add("Center",edit); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjPanel; +} +/** + * Called whenever the part throws an exception. + * @param exception java.lang.Throwable + */ +private void handleException(Throwable exception) { + + /* Uncomment the following lines to print uncaught exceptions to stdout */ + // System.out.println("--------- UNCAUGHT EXCEPTION ---------"); + // exception.printStackTrace(System.out); +} +/** + * Initializes connections + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void initConnections() { + // user code begin {1} + // user code end + getAceptar().addActionListener(this); + getDescripcion().addActionListener(this); +} +/** + * Initialize the class. + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void initialize() { + // user code begin {1} + // user code end + setName("Detalles"); + setBounds((t.getScreenSize().width-317)/2,(t.getScreenSize().height-110)/2, 317, 110); + setContentPane(getJInternalFrameContentPane()); + initConnections(); + // user code begin {2} + // user code end +} + +public void run(){ + try{ + objThread.sleep(intNumeroSegundos*1000); + }catch(Exception err){ + } + dispose(); +} +/** + * main entrypoint - starts the part when it is run as an application + * @param args java.lang.String[] + */ +} + diff --git a/Fuentes/com/tarisan/chipcard/gui/DetallesFrame.java b/Fuentes/com/tarisan/chipcard/gui/DetallesFrame.java new file mode 100644 index 0000000..1ba57de --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/DetallesFrame.java @@ -0,0 +1,324 @@ +package com.tarisan.chipcard.gui; + +import java.awt.*; + +import javax.swing.*; +/** + * This type was created in VisualAge. + */ +public class DetallesFrame extends javax.swing.JFrame implements java.awt.event.ActionListener { + private javax.swing.JButton ivjAceptar = null; + private javax.swing.JButton ivjDescripcion = null; + private javax.swing.JLabel ivjEtiqueta = null; + private javax.swing.JPanel ivjJInternalFrameContentPane = null; + private javax.swing.JPanel ivjPanel = null; + private Editor edit = new Editor(); + String mensaje = new String(); + String error = new String(); + Toolkit t = Toolkit.getDefaultToolkit(); + Icon icono = (Icon) UIManager.get("OptionPane.errorIcon"); + + +/** + * Constructor + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +public DetallesFrame(String strTitle, String error, String mensaje) { + super("Error"); + this.mensaje = mensaje; + this.error = error; + initialize(); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + */ + +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + */ +public DetallesFrame(String title, boolean resizable) { + super(title); + setResizable(resizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + */ +public DetallesFrame(String title, boolean resizable, boolean closable) { + super(title); + setResizable(resizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + * @param maximizable boolean + */ +public DetallesFrame(String title, boolean resizable, boolean closable, boolean maximizable) { + super(title); + setResizable(resizable); +} +/** + * Detalles constructor comment. + * @param title java.lang.String + * @param resizable boolean + * @param closable boolean + * @param maximizable boolean + * @param iconifiable boolean + */ +public DetallesFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) { + super(title); + setResizable(resizable); +} + +// Center a dialog on screen +public static void centerDialog(Window frame) { + Dimension dialogSize = frame.getSize(); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + frame.setLocation(screenSize.width/2 - dialogSize.width/2, + screenSize.height/2 - dialogSize.height/2); +} +/** + * Comment + */ +public void aceptar_ActionPerformed(java.awt.event.ActionEvent actionEvent) { + try + { + dispose(); + } + catch (Exception w) + { + //System.out.println("hola"); + } + return; +} + +public void actionPerformed(java.awt.event.ActionEvent e) { + // user code begin {1} + // user code end + if ((e.getSource() == getAceptar()) ) { + connEtoC2(e); + } + + if ((e.getSource() == getDescripcion()) ) { + connEtoC3(e); + } + // user code begin {2} + // user code end +} + +/** + * connEtoC2: (Aceptar.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.aceptar_ActionPerformed(Ljava.awt.event.ActionEvent;)V) + * @param arg1 java.awt.event.ActionEvent + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ + +private void connEtoC2(java.awt.event.ActionEvent arg1) { + try { + // user code begin {1} + // user code end + this.aceptar_ActionPerformed(arg1); + // user code begin {2} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {3} + // user code end + handleException(ivjExc); + } +} + +/** + * connEtoC3: (Descripcion.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.descripcion_ActionPerformed(Ljava.awt.event.ActionEvent;)V) + * @param arg1 java.awt.event.ActionEvent + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void connEtoC3(java.awt.event.ActionEvent arg1) { + try { + // user code begin {1} + // user code end + this.descripcion_ActionPerformed(arg1); + // user code begin {2} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {3} + // user code end + handleException(ivjExc); + } +} +/** + * Comment + */ +public void descripcion_ActionPerformed(java.awt.event.ActionEvent actionEvent) { + if(this.getSize().height == 110) + { + ivjDescripcion.setText("\u00AB Descripcin"); + this.setSize(this.getSize().width,193); + edit.append(mensaje, new Color(0xFF0000)); + } + else + { + ivjDescripcion.setText("Descripcin \u00BB"); + this.setSize(this.getSize().width,110); + edit.remove(); + } + return; +} +/** + * Return the Aceptar property value. + * @return javax.swing.JButton + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JButton getAceptar() { + if (ivjAceptar == null) { + try { + ivjAceptar = new javax.swing.JButton(); + ivjAceptar.setName("Aceptar"); + ivjAceptar.setText("Aceptar"); + ivjAceptar.setBounds(33, 56, 85, 17); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjAceptar; +} + +private javax.swing.JButton getDescripcion() { + if (ivjDescripcion == null) { + try { + ivjDescripcion = new javax.swing.JButton(); + ivjDescripcion.setName("Descripcion"); + ivjDescripcion.setText("Descripcin \u00BB"); + ivjDescripcion.setBounds(170, 56, 115, 17); + ivjDescripcion.setActionCommand("Descripcion"); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjDescripcion; +} +/** + * Return the Etiqueta property value. + * @return javax.swing.JLabel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JLabel getEtiqueta() { + if (ivjEtiqueta == null) { + try { + ivjEtiqueta = new javax.swing.JLabel(); + ivjEtiqueta.setName("Etiqueta"); + ivjEtiqueta.setIcon(icono); + ivjEtiqueta.setText(error); + ivjEtiqueta.setBounds(15, 14, 258, 28); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjEtiqueta; +} +/** + * Return the JInternalFrameContentPane property value. + * @return javax.swing.JPanel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +public javax.swing.JPanel getJInternalFrameContentPane() { + if (ivjJInternalFrameContentPane == null) { + try { + ivjJInternalFrameContentPane = new javax.swing.JPanel(); + ivjJInternalFrameContentPane.setName("JInternalFrameContentPane"); + ivjJInternalFrameContentPane.setLayout(null); + getJInternalFrameContentPane().add(getAceptar(), getAceptar().getName()); + getJInternalFrameContentPane().add(getEtiqueta(), getEtiqueta().getName()); + getJInternalFrameContentPane().add(getPanel(), getPanel().getName()); + getJInternalFrameContentPane().add(getDescripcion(), getDescripcion().getName()); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjJInternalFrameContentPane; +} +/** + * Return the Panel property value. + * @return javax.swing.JPanel + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private javax.swing.JPanel getPanel() { + + if (ivjPanel == null) { + try { + ivjPanel = new javax.swing.JPanel(); + ivjPanel.setName("Panel"); + ivjPanel.setLayout(new BorderLayout()); + ivjPanel.setBounds(12, 91, 282, 50); + ivjPanel.add("Center",edit); + // user code begin {1} + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + }; + return ivjPanel; +} +/** + * Called whenever the part throws an exception. + * @param exception java.lang.Throwable + */ +private void handleException(Throwable exception) { + + /* Uncomment the following lines to print uncaught exceptions to stdout */ + // System.out.println("--------- UNCAUGHT EXCEPTION ---------"); + // exception.printStackTrace(System.out); +} +/** + * Initializes connections + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void initConnections() { + // user code begin {1} + // user code end + getAceptar().addActionListener(this); + getDescripcion().addActionListener(this); +} +/** + * Initialize the class. + */ +/* WARNING: THIS METHOD WILL BE REGENERATED. */ +private void initialize() { + // user code begin {1} + // user code end + setName("Detalles"); + setBounds((t.getScreenSize().width-317)/2,(t.getScreenSize().height-110)/2, 317, 110); + setContentPane(getJInternalFrameContentPane()); + initConnections(); + // user code begin {2} + // user code end +} +/** + * main entrypoint - starts the part when it is run as an application + * @param args java.lang.String[] + */ +} + diff --git a/Fuentes/com/tarisan/chipcard/gui/Editor.java b/Fuentes/com/tarisan/chipcard/gui/Editor.java new file mode 100644 index 0000000..d94152b --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/Editor.java @@ -0,0 +1,127 @@ +/* + * Created on 28-sep-2004 + * + * To change the template for this generated file go to + * Window>Preferences>Java>Code Generation>Code and Comments + */ +package com.tarisan.chipcard.gui; + + import java.awt.*; + import javax.swing.*; + import javax.swing.text.*; + + public class Editor extends JScrollPane + { + EditorTexto edit = new EditorTexto();; + public Editor() + { + super(); + setHorizontalScrollBarPolicy(HORIZONTAL_SCROLLBAR_AS_NEEDED); + setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_AS_NEEDED); + getViewport().add(edit); + } + public void remove() + { + edit.remove(); + } + + public void append(String cadena, Color color) + { + edit.append(cadena+"\r",color); + } + public class EditorTexto extends JTextPane + { + Style Linea,Titulo; // Estilos + Style s; + StyleContext sc; // Contenedor de estilos + DefaultStyledDocument doc; // Plantilla de Documento + Color color= new Color(0) ; // color texto chat + + public void remove() + { + try + { + doc.remove(0,doc.getLength()); + } + catch(BadLocationException x) + { + //System.out.println("no s"); + } + } + public EditorTexto() + { + super(); + sc = new StyleContext(); + doc= new DefaultStyledDocument(sc); + Editable(false); + DeficionEstilos(); + setDocument(doc); + } + public void Editable(boolean flag) // Estado de Edicion del NewChat + { + if(!flag) + { + setEditable(false); + setCaretColor(Color.white); + setSelectionColor(Color.BLUE); + } + else + { + setEditable(true); + } + } + public void append(String cadena, Color color) + { + + Style tmp; + + tmp = sc.getStyle("tmp"+ color /*Integer.toString(color)*/); + + if(tmp == null) // el estilo no existe lo aadimos + { + tmp = sc.getStyle("Linea"); + sc.addStyle("tmp"+color,tmp); + StyleConstants.setForeground(tmp, color); + } + else + { + StyleConstants.setForeground(tmp, color); + } + try + { + doc.insertString(doc.getLength(), cadena,tmp); + } + catch (BadLocationException e) + { + System.err.println("Internal error: " + e); + } + } + public void append(String cadena, String Estilo) + { + try + { + doc.insertString(doc.getLength(), cadena,null); + doc.setLogicalStyle(doc.getLength()-1, sc.getStyle(Estilo)); + } + catch (BadLocationException e) + { + System.err.println("Internal error: " + e); + } + + } + public void DeficionEstilos() + { + + // Estilo de Linea + Linea = sc.getStyle(StyleContext.DEFAULT_STYLE); + Linea = sc.addStyle("Linea", Linea); + StyleConstants.setFontFamily(Linea, "Helvetica"); + StyleConstants.setBold(Linea, true); + StyleConstants.setAlignment(Linea, StyleConstants.ALIGN_LEFT); + StyleConstants.setSpaceAbove(Linea, 10); + StyleConstants.setSpaceBelow(Linea, 10); + StyleConstants.setFontSize(Linea, 12); + StyleConstants.setForeground(Linea, new Color(255,255,255)); + } + } + } \ No newline at end of file diff --git a/Fuentes/com/tarisan/chipcard/gui/IconizableObject.java b/Fuentes/com/tarisan/chipcard/gui/IconizableObject.java new file mode 100644 index 0000000..45ecfa6 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/IconizableObject.java @@ -0,0 +1,6 @@ +package com.tarisan.chipcard.gui; + +public interface IconizableObject { + + public javax.swing.Icon getIcon(); +} diff --git a/Fuentes/com/tarisan/chipcard/gui/ImageComboBox.java b/Fuentes/com/tarisan/chipcard/gui/ImageComboBox.java new file mode 100644 index 0000000..97b6620 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/ImageComboBox.java @@ -0,0 +1,46 @@ +package com.tarisan.chipcard.gui; +import javax.swing.*; + +public class ImageComboBox extends JComboBox{ + private ComboCellRenderer renderer=new ComboCellRenderer(); + private String sIconPath=""; + + //private int nHeight=40; + + public ImageComboBox(){ + super(); + setRenderer(renderer); + /*setFont(new java.awt.Font("Tahoma",java.awt.Font.BOLD,14)); + setPreferredSize(new java.awt.Dimension(120,nHeight)); + setMinimumSize(new java.awt.Dimension(120,35)); + */ + } + + public void setIconPath(String s){ + sIconPath=s; + } + + public void addItem(Object anObject){ + super.addItem(anObject); + Icon icon=null; + if(anObject instanceof IconizableObject){ + icon=((IconizableObject)anObject).getIcon(); + //nHeight=Math.max(icon.getIconHeight(),nHeight); + //setPreferredSize(new java.awt.Dimension(Math.max(getWidth(),120),nHeight)); + validate(); + } + renderer.addIcon(anObject,icon); + } + + + public void removeItemAt(int nIndex){ + Object obj=this.getItemAt(nIndex); + renderer.removeIcon(obj.toString()); + if(nIndex>0) + renderer.remove(nIndex); + } + + + + +} diff --git a/Fuentes/com/tarisan/chipcard/gui/ProgressDialog.java b/Fuentes/com/tarisan/chipcard/gui/ProgressDialog.java new file mode 100644 index 0000000..868de66 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/ProgressDialog.java @@ -0,0 +1,49 @@ +package com.tarisan.chipcard.gui; + +import java.awt.Dimension; + +import javax.swing.*; +import javax.swing.JLabel; +import javax.swing.JProgressBar; + +public class ProgressDialog extends JFrame { + + JProgressBar progressBar=null; + JLabel jlabel=null; + + public ProgressDialog(String strTitle){ + super(strTitle); + setSize(400,70); + addComponents(strTitle); + setVisible(true); + show(); + UtilGUI.centerOnScreen(this); + + } + + private void addComponents(String strTitle){ + getContentPane().setLayout(new java.awt.BorderLayout()); + jlabel=new JLabel(strTitle); + getContentPane().add(jlabel,java.awt.BorderLayout.SOUTH); + progressBar=new JProgressBar(0, 100); + progressBar.setPreferredSize(new Dimension(400,60)); + progressBar.setValue(0); + progressBar.setStringPainted(true); + getContentPane().add(progressBar,java.awt.BorderLayout.CENTER); + } + + public void setProgressState(int intValue){ + String str=null; + setProgressState(intValue,str); + } + + public void setProgressState(int intValue,String strTexto){ + setVisible(true); + progressBar.setValue(intValue); + if(strTexto!=null){ + jlabel.setText(strTexto); + } + validate(); + repaint(); + } +} \ No newline at end of file diff --git a/Fuentes/com/tarisan/chipcard/gui/UtilGUI.java b/Fuentes/com/tarisan/chipcard/gui/UtilGUI.java new file mode 100644 index 0000000..ca27426 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/UtilGUI.java @@ -0,0 +1,71 @@ +package com.tarisan.chipcard.gui; + +import java.awt.*; + +import javax.swing.*; + +/** + * @author jjrider + * + * Window - Preferences - Java - Code Style - Code Templates + */ +public class UtilGUI { + +// Center a dialog on screen + public static void centerDialog(Window frame) { + Dimension dialogSize = frame.getSize(); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + frame.setLocation(screenSize.width/2 - dialogSize.width/2, + screenSize.height/2 - dialogSize.height/2); + } + + public static void centerOnWindow(Window dialog, Window frame){ + if(dialog==null) + return; + if(frame==null) + return; + Dimension dimDialog=dialog.getSize(); + Dimension dimFrame=frame.getSize(); + /*int intFrameX=frame.getX(); + int intFrameY=frame.getY();*/ + int distanceWidth=dimFrame.width-dimDialog.width; + distanceWidth=distanceWidth/2; + int distanceHeight=dimFrame.height-dimDialog.height; + distanceHeight=distanceHeight/2; + dialog.setBounds(frame.getX()+distanceWidth,frame.getY()+distanceHeight,dimDialog.width,dimDialog.height); + } + + public static void centerOnScreen(Window dialog){ + if(dialog==null) + return; + Dimension dimFrame=java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + Dimension dimDialog=dialog.getSize(); + int distanceWidth=dimFrame.width-dimDialog.width; + distanceWidth=distanceWidth/2; + int distanceHeight=dimFrame.height-dimDialog.height; + distanceHeight=distanceHeight/2; + dialog.setBounds(distanceWidth,distanceHeight,dimDialog.width,dimDialog.height); + } + + public static Icon getIconForType(int iconType) { + try{ + switch (iconType) { + case JOptionPane.ERROR_MESSAGE: + return UIManager.getIcon("OptionPane.errorIcon"); + case JOptionPane.INFORMATION_MESSAGE: + return UIManager.getIcon("OptionPane.informationIcon"); + case JOptionPane.WARNING_MESSAGE: + return UIManager.getIcon("OptionPane.warningIcon"); + case JOptionPane.QUESTION_MESSAGE: + return UIManager.getIcon("OptionPane.questionIcon"); + } + }catch(Exception err){} + return null; + } + + public static String getInputValue(Component parentComponent,Object message){ + return JOptionPane.showInputDialog(parentComponent,message); + } + + +} diff --git a/Fuentes/com/tarisan/chipcard/gui/VentanaProgreso.java b/Fuentes/com/tarisan/chipcard/gui/VentanaProgreso.java new file mode 100644 index 0000000..f8c01d2 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/VentanaProgreso.java @@ -0,0 +1,57 @@ +package com.tarisan.chipcard.gui; + +import java.awt.Dimension; + +import javax.swing.*; +import javax.swing.JProgressBar; + +/** + * @author jjrider +*/ +public class VentanaProgreso extends JDialog { + + JProgressBar progressBar=null; + JLabel jlabel=null; + + public VentanaProgreso(JFrame objFrame,String strTitle){ + super(objFrame,strTitle, false); + setSize(400,70); + addComponents(strTitle); + setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); + setVisible(true); + } + + private void addComponents(String strTitle){ + getContentPane().setLayout(new java.awt.BorderLayout()); + jlabel=new JLabel(strTitle); + getContentPane().add(jlabel,java.awt.BorderLayout.SOUTH); + progressBar=new JProgressBar(0, 100); + progressBar.setPreferredSize(new Dimension(400,60)); + //progressBar.setBackground(new java.awt.Color(0,0,0)); + progressBar.setValue(0); + progressBar.setStringPainted(true); + getContentPane().add(progressBar,java.awt.BorderLayout.CENTER); + } + + public void setProgressState(int intValue){ + String str=null; + setProgressState(intValue,str); + } + + public void setProgressState(int intValue,String strTexto){ + progressBar.setValue(intValue); + if(strTexto!=null){ + jlabel.setText(strTexto); + } + validate(); + repaint(); + } + + protected void finalize() throws Throwable{ + try { + hide(); + }catch(Throwable th){} + super.finalize(); + } +} + diff --git a/Fuentes/com/tarisan/chipcard/gui/hiloDialogo.java b/Fuentes/com/tarisan/chipcard/gui/hiloDialogo.java new file mode 100644 index 0000000..6a1600b --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/gui/hiloDialogo.java @@ -0,0 +1,49 @@ +package com.tarisan.chipcard.gui; + +import javax.swing.*; +/** + * @author jjrider + * + * To change the template for this generated type comment go to + * Window>Preferences>Java>Code Generation>Code and Comments + */ +public class hiloDialogo extends Thread {//implements Runnable{ + int intDialogType=0; + String strMessage=""; + String strTitle=""; + private JFrame jframe=null; + String options[]={"Si","No"}; + java.awt.event.ActionListener actionListener=null; + + public hiloDialogo(JFrame f,String t,String m, int d){ + this(f, t, m, d,null); + } + public hiloDialogo(JFrame f,String t,String m, int d,java.awt.event.ActionListener a){ + super(); + jframe=f; + intDialogType=d; + strMessage=m; + strTitle=t; + actionListener=a; + start(); + } + + public void run(){ + //jframe.setVisible(true); + if(jframe!=null) + jframe.setFocusable(true); + if(actionListener==null) + JOptionPane.showMessageDialog(jframe,strMessage,strTitle,intDialogType); + else + confirmDialog(); + } + + public void confirmDialog(){ + int intRetorno=JOptionPane.showOptionDialog(null, strMessage, strTitle, JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null,options, options[1]); + if(actionListener!=null){ + actionListener.actionPerformed(new java.awt.event.ActionEvent(this,intRetorno,null)); + } + + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AboutBox.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AboutBox.java new file mode 100644 index 0000000..2722bb4 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AboutBox.java @@ -0,0 +1,55 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.*; +import javax.swing.border.EmptyBorder; + +public class AboutBox extends JFrame { + public static final ImageIcon fondo=new ImageIcon(WebServiceTrayIcon.loadImage("acercade02.gif")); + // Create new about box given parent frame + public AboutBox() { + // Make modal dialog given parent and title + super("Acerca de"); + this.setUndecorated(true); + // Layout stuff + JLabel panel = new JLabel(); + //panel.setBackground(); + //panel.setI + panel.setIcon(fondo); + panel.setSize(new Dimension(fondo.getIconWidth(),fondo.getIconHeight())); + panel.setLayout(null); + JPanel container=new JPanel(); + container.setBounds(195,15,185,220); + panel.add(container); + container.setLayout(new BorderLayout()); + JPanel txt = new JPanel(); + txt.setLayout(new GridLayout(0,1)); + addWindowListener(new CloseWindowListener()); + container.setBorder(new EmptyBorder(4,4,4,4)); + setContentPane(panel); + panel.validate(); + pack(); + + } + + + // Close listener for OK button + private class CloseListener implements ActionListener { + + public void actionPerformed(ActionEvent evt) { + dispose(); + } + } + + // Close listener for windows button + private class CloseWindowListener extends WindowAdapter { + + public void windowClosing(WindowEvent evt) { + dispose(); + } + } +} \ No newline at end of file diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AnulacionesFrame.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AnulacionesFrame.java new file mode 100644 index 0000000..f388aec --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AnulacionesFrame.java @@ -0,0 +1,245 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; + +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +import java.util.*; + +import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*; +import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.*; +import java.awt.event.*; + +/** + * Ventana de anulaciones + * + * @author jescacena + * + */ +public class AnulacionesFrame extends JFrame implements ActionListener, ControladorRespuestas { + private AnulacionesPanel jpAnulPanel = new AnulacionesPanel(); + private JButton btnAceptar = null; + private JButton btnCancelar = null; + private TerminalSanitarioBean terBean = new TerminalSanitarioBean(); + private UsuarioTVSBean userBean = new UsuarioTVSBean(); + private VentanaProgreso progressWindow = null; + + public String devuelveRespuesta(String a) + { + return a; + } + + public AnulacionesFrame() { + setIconImage(WebServiceTrayIcon.image_authorizations_16); + progressWindow = new VentanaProgreso(this, "Solicitando anulacin"); + progressWindow.setVisible(false); + setTitle("Anulaciones"); + Vector vTer = terBean.getTerminalesSanitarios(); + if (vTer.size() == 0) { + NuevoTerminalFrame frmT = new NuevoTerminalFrame(); + WebServiceTrayIcon.showMessage( + frmT, + getTitle(), + "Es necesario configurar antes Terminales Sanitarios", + JOptionPane.WARNING_MESSAGE, + 10); + dispose(); + } else { + Vector vUsers = userBean.getUsuariosTVS(); + if (vUsers.size() == 0) { + NuevoUsuarioTVSFrame frmU = new NuevoUsuarioTVSFrame(); + frmU.updateData(); + WebServiceTrayIcon.showMessage( + frmU, + getTitle(), + "Es necesario configurar antes algn Usuario del TVS", + JOptionPane.WARNING_MESSAGE, + 10); + dispose(); + } else { + init(); + } + } + } + + private void init() { + getContentPane().setLayout(new BorderLayout()); + JPanel pn = new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpAnulPanel, gridBagConstraints); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy++; + JPanel jpButtons = new JPanel(); + + jpButtons.setLayout(new java.awt.FlowLayout()); + jpButtons.add(getButtonAceptar()); + jpButtons.add(getButtonCancelar()); + pn.add(jpButtons, gridBagConstraints); + getContentPane().add(pn, java.awt.BorderLayout.CENTER); + jpAnulPanel.updateData(); + pack(); + show(); + UtilGUI.centerOnScreen(this); + } + + private JButton getButtonAceptar() { + if (btnAceptar == null) { + btnAceptar = new JButton(); + btnAceptar.setText("Aceptar"); + btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif"))); + btnAceptar.addActionListener(this); + } + return btnAceptar; + } + + private JButton getButtonCancelar() { + if (btnCancelar == null) { + btnCancelar = new JButton(); + btnCancelar.setText("Cancelar"); + btnCancelar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("cancelar32.gif"))); + btnCancelar.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + setVisible(false); + dispose(); + } + }); + } + return btnCancelar; + } + + /** + * @return + */ + public AnulacionesPanel getAnulacionesPanel() { + return jpAnulPanel; + } + + public void actionPerformed(ActionEvent evt) { + UsuarioTVS user = (UsuarioTVS) getAnulacionesPanel().getCmbImageComboUsuarios().getSelectedItem(); + boolean siTerminalDeLaboratorio = user.getTerminal().isTVA(); + if (user == null) { + showErrorMessage("Se debe seleccionar un usuario"); + return; + } + DialogoTarjetaSanitaria objDialog = new DialogoTarjetaSanitaria(this); + com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.Paciente paciente = objDialog.getPaciente(); + objDialog.dispose(); + + setEnabled(false); + //Construyo el mensaje a enviar + AnulReq anulRequest = null; + + try { + anulRequest = + new AnulReq( + user.getTerminal().getNumeroTerminal(), + getAnulacionesPanel().getJtxtTimestamp().getText(), + user); + } catch (Exception err) { + err.printStackTrace(); + WebServiceTrayIcon.showErrorMessage( + getTitle(), + "No se pudo componer la solicitud de anulacin a enviar:" + err.getMessage()); + setEnabled(true); + } + if (anulRequest != null) { + //Ya tengo la peticion a enviar... + String sURL = getAnulacionesPanel().getCmbURLService().getSelectedItem().toString(); + java.net.URL endPointURL = null; + try { + endPointURL = new java.net.URL(sURL); + } catch (Exception err) { + err.printStackTrace(); + WebServiceTrayIcon.showErrorMessage( + getTitle(), + "No se pudo enviar la solicitud de anulacin a '" + sURL + "' debido al error:" + err.getMessage()); + } + if (endPointURL != null) { + progressWindow.setProgressState(0); + progressWindow.setModal(false); + UtilGUI.centerOnWindow(progressWindow, this); + ClienteServicioWeb objClienteServicioWeb = + new ClienteServicioWeb(anulRequest, this, endPointURL); + ProgressBarThread PBTh = + new ProgressBarThread(progressWindow, objClienteServicioWeb.getSegundosTimeout()); + PBTh.start(); + } else { + setEnabled(true); + } + } else { + setEnabled(true); + } + } + + /***** + * Recibe la respuesta del Servicio Web + */ + public String recibeRespuesta(String sResponse) { + if (progressWindow != null) + progressWindow.setVisible(false); + setEnabled(true); + if (sResponse != null) { + Msg objResponse = null; + try { + objResponse = Msg.createMsgFromString(sResponse); + if (objResponse.getTypeOfMessage() == Msg.TYPE_OF_MESSAGE_ERROR) { + com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error errorMes = + (com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error) objResponse; + //Es un Error en la peticion + showErrorMessage( + "Se ha producido el error con cdigo " + + errorMes.getErrorCode() + + ".\nDescripcin:" + + errorMes.getErrorDescription()); + } else if (objResponse.getTypeOfMessage() == Msg.TYPE_OF_MESSAGE_CCRES) { + com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes autResMes = + (com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes) objResponse; + WebServiceTrayIcon.showTransactionInfo(autResMes, this); + + } + } catch (Exception err) { + err.printStackTrace(); + showErrorMessage( + "Se ha producido un error al procesar la respuesta.\nDescripcin:" + err.getMessage()); + } + } else { + //Se debera repetir la respuesta?? Se supone que no se ha recibido + } + return ""; + + } + + public void setEnabled(boolean blnEnabled) { + super.setEnabled(blnEnabled); + getAnulacionesPanel().setEnabled(blnEnabled); + getButtonAceptar().setEnabled(blnEnabled); + getButtonCancelar().setEnabled(blnEnabled); + if (!blnEnabled) + setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR)); + else + setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR)); + validate(); + repaint(); + } + + private void showErrorMessage(String sMessage) { + WebServiceTrayIcon.showMessage(this, getTitle(), sMessage, JOptionPane.ERROR_MESSAGE); + } + + private void showInformationMessage(String sMessage) { + WebServiceTrayIcon.showMessage(this, getTitle(), sMessage, JOptionPane.INFORMATION_MESSAGE); + } + + private void showWarningMessage(String sMessage) { + WebServiceTrayIcon.showMessage(this, getTitle(), sMessage, JOptionPane.WARNING_MESSAGE); + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AnulacionesPanel.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AnulacionesPanel.java new file mode 100644 index 0000000..222c8be --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AnulacionesPanel.java @@ -0,0 +1,126 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.util.Vector; + +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; + +import com.tarisan.chipcard.gui.ImageComboBox; + +import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.UsuarioTVS; +import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.UsuarioTVSBean; + +public class AnulacionesPanel extends JPanel { + + private ImageComboBox cmbImageComboUsuarios = new ImageComboBox(); + private JComboBox cmbURLService = new JComboBox(); + + private JTextField jtxtTimestamp = new JTextField(); + + public AnulacionesPanel() { + super(); + init(); + } + + private void init() { + //setLayout(new BorderLayout()); + initPane(); + //JPanel pn=new JPanel(); + /** + setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpPrincipal, gridBagConstraints); + gridBagConstraints.gridx = 1; + add(pn, java.awt.BorderLayout.CENTER); + **/ + } + + private void initPane() { + setLayout(new java.awt.GridBagLayout()); + setBorder(new javax.swing.border.TitledBorder("Datos de la Solicitud de anulacin al TVS")); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + + gridBagConstraints.gridwidth = 1; + + gridBagConstraints.gridy++; + gridBagConstraints.gridx = 0; + JLabel label = new javax.swing.JLabel("URL Servicio Web:"); + add(label, gridBagConstraints); + gridBagConstraints.gridx++; + cmbURLService.setEditable(true); + WebServiceTrayIcon.fillURLServices(cmbURLService); + add(cmbURLService, gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridx = 0; + label = new javax.swing.JLabel("Usuario:"); + add(label, gridBagConstraints); + gridBagConstraints.gridx++; + add(cmbImageComboUsuarios, gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridx = 0; + label = new javax.swing.JLabel("Timestamp:"); + add(label, gridBagConstraints); + gridBagConstraints.gridx++; + //JScrollPane listScrollPane3 = new JScrollPane(txtDatosCliente); + //listScrollPane3.setPreferredSize(maxSize); + add(jtxtTimestamp, gridBagConstraints); + + } + + public void updateData() { + getCmbImageComboUsuarios().removeAllItems(); + UsuarioTVSBean bean = new UsuarioTVSBean(); + Vector vUsuarios = bean.getUsuariosTVS(); + for (int i = 0; i < vUsuarios.size(); i++) { + UsuarioTVS obj = (UsuarioTVS) vUsuarios.elementAt(i); + getCmbImageComboUsuarios().addItem(obj); + } + + } + + /** + * @return + */ + public ImageComboBox getCmbImageComboUsuarios() { + return cmbImageComboUsuarios; + } + + /** + * @return + */ + public JComboBox getCmbURLService() { + return cmbURLService; + } + + public void setEnabled(boolean blnEnabled) { + super.setEnabled(blnEnabled); + java.awt.Component arrComp[] = this.getComponents(); + for (int i = 0; i < this.getComponentCount(); i++) { + arrComp[i].setEnabled(blnEnabled); + } + validate(); + repaint(); + } + + /** + * @return + */ + public JTextField getJtxtTimestamp() { + return jtxtTimestamp; + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AutomaticCloseDialog.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AutomaticCloseDialog.java new file mode 100644 index 0000000..b2e9a68 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/AutomaticCloseDialog.java @@ -0,0 +1,190 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + + +import javax.swing.JDialog; + +import com.tarisan.chipcard.gui.*; + +import javax.swing.*; +import java.util.*; +import java.awt.*; +import java.awt.event.*; + +/** + * @author jjrider + * + * To change the template for this generated type comment go to + * Window>Preferences>Java>Code Generation>Code and Comments + */ +public class AutomaticCloseDialog extends JDialog implements ActionListener,Runnable { + + private int intNumeroSegundos=5; + private Thread objThread=null; + private Window objWindow=this; + private ActionListener externActionListener=null; + private int intTypeOfMessage=-1; + JPanel pnl=new JPanel(); + + public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos){ + this(strTitle,strMensaje,intNumeroSegundos,null); + } + + public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame){ + this(strTitle,strMensaje,intNumeroSegundos,parentFrame,JOptionPane.INFORMATION_MESSAGE); + } + + public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage){ + this(strTitle,strMensaje,intNumeroSegundos,parentFrame,intTypeOfMessage,true); + } + + public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage,ActionListener listener){ + this(strTitle,strMensaje,intNumeroSegundos,parentFrame,intTypeOfMessage,true,listener); + } + + public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage, boolean blnModal){ + this(strTitle, strMensaje, intNumeroSegundos, parentFrame, intTypeOfMessage, blnModal,null); + } + + public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage, boolean blnModal,ActionListener listener){ + super(parentFrame); + setUndecorated(false); + this.setModal(true); + this.intNumeroSegundos=intNumeroSegundos; + this.intTypeOfMessage=intTypeOfMessage; + setTitle(strTitle); + + setContentPane(pnl); + getContentPane().setLayout(new GridBagLayout()); + int columna=0; + int fila=0; + externActionListener=listener; + + //getContentPane().setLayout(new BorderLayout()); + JPanel panel=new JPanel(); + panel.setLayout(new BorderLayout()); + //Un tamao por defecto... + setSize(300,200); + + + JLabel label=null; + Icon icon=getIconForType(intTypeOfMessage); + if(icon!=null){ + label=new JLabel(icon); + label.setBounds(10,40,20,20); + getContentPane().add(label, new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.NONE,new Insets(10,10,10,10),0,0)); + columna++; + } + JPanel panelLabels=new JPanel(); + panelLabels.setLayout(new GridBagLayout()); + StringTokenizer st=new StringTokenizer(strMensaje,"\n"); + int intNumLabels=0; + while(st.hasMoreTokens()) { + intNumLabels++; + label=new JLabel(st.nextToken()); + panelLabels.add(label, new java.awt.GridBagConstraints(0,intNumLabels,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.NONE,new Insets(00,00,00,00),0,0)); + } + + //label.setBounds(40,40,300,20); + //panel.add(label,BorderLayout.CENTER); + getContentPane().add(panelLabels, new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.HORIZONTAL,new Insets(10,10,10,10),0,0)); + columna=0; + fila++; + + /*panelTemp=new JPanel(); + getContentPane().add(panelTemp, new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.BOTH,new Insets(0,0,0,0),0,0)); + fila++;*/ + String strOKText="Aceptar"; + if(intTypeOfMessage==JOptionPane.QUESTION_MESSAGE) + strOKText="Si"; + JButton btnAceptar=new JButton(strOKText); + btnAceptar.setActionCommand("Aceptar"); + btnAceptar.addActionListener(this); + btnAceptar.setPreferredSize(new Dimension(90,20)); + btnAceptar.setMaximumSize(new Dimension(90,20)); + if(externActionListener==null){ + getContentPane().add(btnAceptar, new java.awt.GridBagConstraints(columna,fila,2,1,1.0,1.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(10,0,10,0),0,0)); + }else{ + JPanel panelButtons=new JPanel(); + panelButtons.setLayout(new FlowLayout()); + panelButtons.add(btnAceptar); + String strCancelText="Cancelar"; + if(intTypeOfMessage==JOptionPane.QUESTION_MESSAGE) + strCancelText="No"; + JButton btnCancelar=new JButton(strCancelText); + btnCancelar.setActionCommand("Cancelar"); + btnCancelar.addActionListener(this); + btnCancelar.setPreferredSize(new Dimension(90,20)); + btnCancelar.setMaximumSize(new Dimension(90,20)); + panelButtons.add(btnCancelar); + getContentPane().add(panelButtons, new java.awt.GridBagConstraints(columna,fila,2,1,1.0,1.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(10,0,10,0),0,0)); + if(this.intNumeroSegundos<30) + this.intNumeroSegundos=30; + } + + + validate(); + pack(); + centerOn(objWindow,parentFrame); + if(this.intNumeroSegundos>0){ + objThread=new Thread(this); + objThread.start(); + } + objWindow.show(); + objWindow.requestFocus(); + objWindow.toFront(); + } + + public void actionPerformed(ActionEvent e){ + objWindow.hide(); + try{objThread.stop();}catch(Exception err){} + if(externActionListener!=null){ + externActionListener.actionPerformed(e); + } + + } + + public static void centerOn(Window dialog,JFrame frame){ + if(dialog==null) + return; + Dimension dimFrame=null; + if(frame==null) + UtilGUI.centerOnScreen(dialog); + else + UtilGUI.centerOnWindow(dialog,frame); + } + + public void run(){ + if(intNumeroSegundos>0){ + try{ + while(!objWindow.isShowing()){ + objThread.sleep(100); + } + for(int i=0;i0){ + //Se aaden si se tienen + arrActos=new ActoMedico[getAutorizacionesPanel().getActosMedicosSolicitadosModel().getSize()]; + for(int i=0;i0){ + autRequest.setDatosCliente(sDataCliente); + } + if(getAutorizacionesPanel().getChkEsRepeticion().isSelected()){ + autRequest.setRepeticion(true); + } + }catch(Exception err){ + err.printStackTrace(); + WebServiceTrayIcon.showErrorMessage(getTitle(),"No se pudo componer la solicitud a enviar:"+err.getMessage()); + setEnabled(true); + } + if(autRequest!=null){ + //Ya tengo la peticion a enviar... + String sURL=getAutorizacionesPanel().getCmbURLService().getSelectedItem().toString(); + java.net.URL endPointURL=null; + try{ + endPointURL=new java.net.URL(sURL); + }catch(Exception err){ + err.printStackTrace(); + WebServiceTrayIcon.showErrorMessage(getTitle(),"No se pudo enviar la solicitud a '"+sURL+"' debido al error:"+err.getMessage()); + } + if(endPointURL!=null){ + progressWindow.setProgressState(0); + progressWindow.setModal(false); + UtilGUI.centerOnWindow(progressWindow,this); + ClienteServicioWeb objClienteServicioWeb=new ClienteServicioWeb(autRequest,this,endPointURL); + ProgressBarThread PBTh=new ProgressBarThread(progressWindow,objClienteServicioWeb.getSegundosTimeout()); + PBTh.start(); + }else { + setEnabled(true); + } + }else{ + setEnabled(true); + } + } + + /***** + * Recibe la respuesta del Servicio Web + */ + public String recibeRespuesta(String sResponse){ + if(progressWindow!=null) + progressWindow.setVisible(false); + setEnabled(true); + if(sResponse!=null){ + Msg objResponse=null; + try{ + objResponse=Msg.createMsgFromString(sResponse); + if(objResponse.getTypeOfMessage()==Msg.TYPE_OF_MESSAGE_ERROR){ + com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error errorMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error)objResponse; + //Es un Error en la peticion + showErrorMessage("Se ha producido el error con cdigo "+errorMes.getErrorCode()+".\nDescripcin:"+errorMes.getErrorDescription()); + }else if(objResponse.getTypeOfMessage()==Msg.TYPE_OF_MESSAGE_CCRES){ + com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes autResMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes)objResponse; + Vector vAutorizaciones=WebServiceTrayIcon.AutResMes2Autorizacion(autResMes); + boolean blnAlgunaAutorizada=false; + for(int i=0;i0){ + for(int i=0;i0){ + for(int i=0;i0){ + for(int i=0;i803446000000081111111001 + //System.out.println("Se va a guardar la peticion: "+getMessagesDir()+sID+"_"+secuencial+"_Response.xml"); + OutputStream fout=new BufferedOutputStream(new FileOutputStream(new File(getMessagesDir(),sID+"_"+secuencial+"_Response.xml"))); + saveXMLToFile(fout,sResponse); + }catch(Exception err){err.printStackTrace();} + } + + + + private void saveXMLToFile(OutputStream fout,String sXML){ + try{ + byte bRes[]=sXML.getBytes(); + fout.write(bRes); + fout.close(); + }catch(Exception err){err.printStackTrace();} + } + + private java.io.File getMessagesDir(){ + if(fMessagesDir==null){ + fMessagesDir=new File("./messages/"); + } + if(!fMessagesDir.exists()){ + fMessagesDir.mkdirs(); + } + return fMessagesDir; + } +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/CompaniasSanitariasFrame.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/CompaniasSanitariasFrame.java new file mode 100644 index 0000000..560d629 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/CompaniasSanitariasFrame.java @@ -0,0 +1,66 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +import java.awt.event.*; + +/** + * @author jjrider + * + * Para cambiar la plantilla para este comentario de tipo generado vaya a + * Ventana>Preferencias>Java>Generacin de cdigo>Cdigo y comentarios + */ +public class CompaniasSanitariasFrame extends JFrame{ + private CompaniasSanitariasPanel jpCompaniasPanel=new CompaniasSanitariasPanel(); + private JButton btnAceptar=null; + + public CompaniasSanitariasFrame(){ + setTitle("Compaias Sanitarias"); + init(); + } + + private void init(){ + getContentPane().setLayout(new BorderLayout()); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpCompaniasPanel, gridBagConstraints); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy++; + JPanel jpButtons=new JPanel(); + + jpButtons.setLayout(new java.awt.FlowLayout()); + jpButtons.add(getButtonAceptar()); + //jpButtons.add(getButtonEliminar()); + pn.add(jpButtons,gridBagConstraints); + getContentPane().add(pn, java.awt.BorderLayout.CENTER); + jpCompaniasPanel.update(); + pack(); + show(); + UtilGUI.centerOnScreen(this); + } + + private JButton getButtonAceptar(){ + if(btnAceptar==null){ + btnAceptar=new JButton(); + btnAceptar.setText("Aceptar"); + btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif"))); + btnAceptar.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent evt){ + setVisible(false); + dispose(); + } + }); + } + return btnAceptar; + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/CompaniasSanitariasPanel.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/CompaniasSanitariasPanel.java new file mode 100644 index 0000000..9af4084 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/CompaniasSanitariasPanel.java @@ -0,0 +1,131 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; + +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +import java.util.*; + +import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*; +import java.awt.event.*; +/*** + * Panel que muestra info de la companias sanitarias dadas de alta en el sistema + * @author jjrider + */ +public class CompaniasSanitariasPanel extends JPanel{ + /** + * + */ + private static final long serialVersionUID = 1406976629577166382L; + private JPanel jpPrincipal=new JPanel(); + private ImageComboBox cmbImageComboCompanias=new ImageComboBox(); + + private JLabel jlblCodigoCompania=new javax.swing.JLabel(""); + + public CompaniasSanitariasPanel(){ + super(); + init(); + } + + private void init(){ + setLayout(new BorderLayout()); + initProductsPane(); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpPrincipal, gridBagConstraints); + gridBagConstraints.gridx = 1; + add(pn, java.awt.BorderLayout.CENTER); + + cmbImageComboCompanias.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent evt){ + //System.out.println(); + CompaniaSanitaria p=(CompaniaSanitaria)cmbImageComboCompanias.getSelectedItem(); + showCompaniaSanitaria(p); + } + }); + + + } + + + private void showCompaniaSanitaria(CompaniaSanitaria p){ + if(p!=null){ + getComboCompanias().setSelectedItem(p); + String sCode=String.valueOf(p.getCodigoCompania()); + getJlblCodigoCompania().setText(sCode); + } + } + + + private void initProductsPane(){ + jpPrincipal.setLayout(new java.awt.GridBagLayout()); + jpPrincipal.setBorder(new javax.swing.border.TitledBorder("Compañías Sanitarias")); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + + gridBagConstraints.gridwidth = 1; + gridBagConstraints.gridy++; + + JLabel label=new javax.swing.JLabel("Nombre Compañía:"); + jpPrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jpPrincipal.add(cmbImageComboCompanias, gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridx=0; + + label=new javax.swing.JLabel("Código Compañía:"); + jpPrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jpPrincipal.add(jlblCodigoCompania, gridBagConstraints); + + } + + + public void update(){ + //if(cmbImageComboCompanias) + cmbImageComboCompanias.removeAllItems(); + CompaniaSanitariaBean b=new CompaniaSanitariaBean(); + Vector v=b.getCompaniasSanitarias(); + for(int i=0;i0"); + lista=new ArrayList(); + objTableModel=new ArrayListTableModel(lista); + table = new JTable(objTableModel); + table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); + table.setVisible(true); + TableColumn column = null; + for(int i=0;i0) + paciente.setTarjeta(sTarjeta); + String sAlta=txtAltaTarjeta.getText().trim(); + if(sAlta.length()>0) + paciente.setFAlta(sAlta); + String sBaja=txtCaducidadTarjeta.getText().trim(); + if(sBaja.length()>0) + paciente.setFBaja(sBaja); + String sCobertura=txtCoberturaTarjeta.getText().trim(); + if(sCobertura.length()>0) + paciente.setCobertura(sCobertura); + String sVersion=txtVersionTarjeta.getText().trim(); + if(sVersion.length()>0) + paciente.setVersion(sVersion); + setVisible(false); + dispose(); + } + }); + pn.add(jbtnAceptar); + pn.add(lblFondo); + + setSize(209,191); + UtilGUI.centerOnWindow(this,objParent ); + showLecturaBanda(); + + + txtLecturaPistaTarjeta.requestFocus(); + lblFondo.addMouseListener(new MouseAdapter() { + public void mouseClicked(MouseEvent evt) { + //System.out.println("Mouse clicked"); + setTipoLectura(!LecturaManual); + } + }); + LecturaPistaThread th=new LecturaPistaThread(this); + th.start(); + show(); + } + + private void showLecturaBanda(){ + setTipoLectura(false); + } + + private void showLecturaManual(){ + setTipoLectura(true); + } + + private void setTipoLectura(boolean LectManual){ + LecturaManual=LectManual; + txtNumeroTarjeta.setVisible(LecturaManual); + txtCaducidadTarjeta.setVisible(LecturaManual); + txtAltaTarjeta.setVisible(LecturaManual); + txtCoberturaTarjeta.setVisible(LecturaManual); + txtVersionTarjeta.setVisible(LecturaManual); + lblNumeroTarjeta.setVisible(LecturaManual); + lblCaducidadTarjeta.setVisible(LecturaManual); + lblAltaTarjeta.setVisible(LecturaManual); + lblCoberturaTarjeta.setVisible(LecturaManual); + lblVersionTarjeta.setVisible(LecturaManual); + jbtnAceptar.setVisible(LecturaManual); + txtLecturaPistaTarjeta.setVisible(!LecturaManual); + if(!LecturaManual){ + txtLecturaPistaTarjeta.requestFocus(); + txtNumeroTarjeta.setText(""); + txtCaducidadTarjeta.setText(""); + txtAltaTarjeta.setText(""); + txtCoberturaTarjeta.setText(""); + txtVersionTarjeta.setText(""); + }else{ + txtLecturaPistaTarjeta.setText(""); + txtNumeroTarjeta.requestFocus(); + } + + } + + public boolean esLecturaManual(){ + return LecturaManual; + } + + + public Paciente getPaciente(){ + return paciente; + } + + + + public class LecturaPistaThread extends Thread{ + private JDialog dialog=null; + + + protected LecturaPistaThread(JDialog dialog){ + this.dialog=dialog; + } + + public void run(){ + txtLecturaPistaTarjeta.requestFocus(); + try{ + Thread.sleep(2000); + }catch(Exception err){} + while(dialog.isVisible()){ + if(!esLecturaManual()){ + txtLecturaPistaTarjeta.requestFocus(); + } + try{ + try{ + Thread.sleep(200); + }catch(Exception err){} + String sPista=new String(txtLecturaPistaTarjeta.getPassword()); + sPista=sPista.trim(); + if(sPista.endsWith("?")){ + try{ + Thread.sleep(200); + }catch(Exception err){} + String sPistaConfirmation=new String(txtLecturaPistaTarjeta.getPassword()); + sPistaConfirmation=sPistaConfirmation.trim(); + if(sPistaConfirmation.equals(sPista)){ + paciente.setPista(sPista); + setVisible(false); + } + } + }catch(Exception err){ + + } + } + System.out.println("Fin del hilo"); + } + + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EasyClient.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EasyClient.java new file mode 100644 index 0000000..a444e26 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EasyClient.java @@ -0,0 +1,59 @@ +/* + * Creado el 16-jul-07 + * + * Para cambiar la plantilla para este archivo generado vaya a + * Ventana>Preferencias>Java>Generacin de cdigo>Cdigo y comentarios + */ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; +import com.tarisan.chipcard.tpvvs.ws.*; +import es.chipcard.util.*; +import java.io.*; +import java.net.URL; +/** + * + * @author jjrider + */ +public class EasyClient { + + static{ + File f=new File("./conf/cacerts"); + //System.out.println(f.getAbsolutePath()); + System.setProperty("javax.net.ssl.trustStore",f.getAbsolutePath()); + System.setProperty("javax.net.ssl.trustStorePassword","changeit"); + + } + + + /*** + * En base a una cadena y la URL, envia la peticion + * @param sPeticion + * @param url + * @return + * @throws Exception + */ + public String enviarPeticion(String sPeticion,String url) throws Exception{ + String sResponse=null; + String sUniqueID=calculateUniqueId(); + try{ + SerClsChipCardWSPuntoEntradaSoapBindingStub service=new SerClsChipCardWSPuntoEntradaSoapBindingStub(); + service.setEndPoint(new URL(url) ); + service.setTimeout(60*1000); + sResponse=service.requestService(sPeticion); + }catch(Exception err){ + err.printStackTrace(); + } + return sResponse; + } + + private String calculateUniqueId(){ + SerClsFecha fecha=new SerClsFecha(); + String sRetorno=fecha.toString("yyyyMMdd_HHmmssSSS"); + return sRetorno; + } + + public static void main(String args[]) throws Exception{ + EasyClient client=new EasyClient(); + String sRespuesta=client.enviarPeticion(args[1],args[0]); + System.out.println(sRespuesta); + } +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EspecialidadesSanitariasFrame.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EspecialidadesSanitariasFrame.java new file mode 100644 index 0000000..a2e6897 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EspecialidadesSanitariasFrame.java @@ -0,0 +1,66 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +import java.awt.event.*; + +/** + * @author jjrider + * + * Para cambiar la plantilla para este comentario de tipo generado vaya a + * Ventana>Preferencias>Java>Generacin de cdigo>Cdigo y comentarios + */ +public class EspecialidadesSanitariasFrame extends JFrame{ + private EspecialidadesSanitariasPanel jpEspecialidadesPanel=new EspecialidadesSanitariasPanel(); + private JButton btnAceptar=null; + + public EspecialidadesSanitariasFrame(){ + setTitle("Especialidades Sanitarias"); + init(); + } + + private void init(){ + getContentPane().setLayout(new BorderLayout()); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpEspecialidadesPanel, gridBagConstraints); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy++; + JPanel jpButtons=new JPanel(); + + jpButtons.setLayout(new java.awt.FlowLayout()); + jpButtons.add(getButtonAceptar()); + //jpButtons.add(getButtonEliminar()); + pn.add(jpButtons,gridBagConstraints); + getContentPane().add(pn, java.awt.BorderLayout.CENTER); + jpEspecialidadesPanel.update(); + pack(); + show(); + UtilGUI.centerOnScreen(this); + } + + private JButton getButtonAceptar(){ + if(btnAceptar==null){ + btnAceptar=new JButton(); + btnAceptar.setText("Aceptar"); + btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif"))); + btnAceptar.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent evt){ + setVisible(false); + dispose(); + } + }); + } + return btnAceptar; + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EspecialidadesSanitariasPanel.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EspecialidadesSanitariasPanel.java new file mode 100644 index 0000000..8347bed --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/EspecialidadesSanitariasPanel.java @@ -0,0 +1,130 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; + +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +import java.util.*; + +import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*; +import java.awt.event.*; +/*** + * Panel que muestra info de las Especialidades sanitarias dadas de alta en el sistema + * @author jjrider + */ +public class EspecialidadesSanitariasPanel extends JPanel{ + /** + * + */ + private static final long serialVersionUID = 1308026484400302032L; + private JPanel jpPrincipal=new JPanel(); + private ImageComboBox cmbImageComboEspecialidades=new ImageComboBox(); + + private JLabel jlblCodigoEspecialidad=new javax.swing.JLabel(""); + + public EspecialidadesSanitariasPanel(){ + super(); + init(); + } + + private void init(){ + setLayout(new BorderLayout()); + initProductsPane(); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpPrincipal, gridBagConstraints); + gridBagConstraints.gridx = 1; + add(pn, java.awt.BorderLayout.CENTER); + + cmbImageComboEspecialidades.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent evt){ + //System.out.println(); + EspecialidadSanitaria p=(EspecialidadSanitaria)cmbImageComboEspecialidades.getSelectedItem(); + showEspecialidadSanitaria(p); + } + }); + + + } + + + private void showEspecialidadSanitaria(EspecialidadSanitaria p){ + if(p!=null){ + getComboEspecialidades().setSelectedItem(p); + String sCode=String.valueOf(p.getCodigoEspecialidad()); + getjlblCodigoEspecialidad().setText(sCode); + } + } + + + private void initProductsPane(){ + jpPrincipal.setLayout(new java.awt.GridBagLayout()); + jpPrincipal.setBorder(new javax.swing.border.TitledBorder("Especialidades Sanitarias")); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + + gridBagConstraints.gridwidth = 1; + gridBagConstraints.gridy++; + + JLabel label=new javax.swing.JLabel("Nombre Especialidad:"); + jpPrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jpPrincipal.add(getComboEspecialidades(), gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridx=0; + + label=new javax.swing.JLabel("Cdigo Especialidad:"); + jpPrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jpPrincipal.add(jlblCodigoEspecialidad, gridBagConstraints); + + } + + + public void update(){ + getComboEspecialidades().removeAllItems(); + EspecialidadSanitariaBean b=new EspecialidadSanitariaBean(); + Vector v=b.getEspecialidadesSanitarias(); + for(int i=0;i0){ + WebServiceTrayIcon.showMessage(this,this.getTitle(),"Nuevo terminal creado",JOptionPane.INFORMATION_MESSAGE); + }else{ + WebServiceTrayIcon.showMessage(this,this.getTitle(),"Nuevo terminal no pudo ser creado",JOptionPane.ERROR_MESSAGE); + } + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoTerminalPanel.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoTerminalPanel.java new file mode 100644 index 0000000..209139d --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoTerminalPanel.java @@ -0,0 +1,84 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; +import javax.swing.*; + +public class NuevoTerminalPanel extends JPanel{ + private JPanel jpPanlePrincipal=new JPanel(); + + + + JTextField jtxtNumeroTerminal=new javax.swing.JTextField(""); + JCheckBox jchkEsTerminalLaboratorio=new javax.swing.JCheckBox("Terminal de Laboratorio"); + + public NuevoTerminalPanel(){ + super(); + init(); + } + + + + private void init(){ + setLayout(new BorderLayout()); + initPane(); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpPanlePrincipal, gridBagConstraints); + gridBagConstraints.gridx = 1; + add(pn, java.awt.BorderLayout.CENTER); + + + + } + + + private void initPane(){ + jpPanlePrincipal.setLayout(new java.awt.GridBagLayout()); + jpPanlePrincipal.setBorder(new javax.swing.border.TitledBorder("Nuevo Terminal Sanitario")); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + gridBagConstraints.gridwidth = 1; + + JLabel label=new javax.swing.JLabel("Numero Terminal:"); + jpPanlePrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jtxtNumeroTerminal.setColumns(8); + jpPanlePrincipal.add(jtxtNumeroTerminal, gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridx=0; + gridBagConstraints.gridwidth = 2; + jpPanlePrincipal.add(jchkEsTerminalLaboratorio, gridBagConstraints); + + + + } + + + + + /** + * @return + */ + public boolean getEsTerminalLaboratorio() { + return jchkEsTerminalLaboratorio.isSelected(); + } + + /** + * @return + */ + public String getNumeroTerminal() { + return jtxtNumeroTerminal.getText(); + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoUsuarioTVSFrame.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoUsuarioTVSFrame.java new file mode 100644 index 0000000..11f2792 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoUsuarioTVSFrame.java @@ -0,0 +1,114 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*; + +import java.awt.event.*; + +/** + * @author jjrider + * + * Para cambiar la plantilla para este comentario de tipo generado vaya a + * Ventana>Preferencias>Java>Generacin de cdigo>Cdigo y comentarios + */ +public class NuevoUsuarioTVSFrame extends JFrame implements ActionListener{ + private NuevoUsuarioTVSPanel jpInternalPanel=new NuevoUsuarioTVSPanel(); + private JButton btnAceptar=null; + private JButton btnCancelar=null; + + public NuevoUsuarioTVSFrame(){ + setTitle("Nuevo Usuario del TVS"); + init(); + } + + private void init(){ + getContentPane().setLayout(new BorderLayout()); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpInternalPanel, gridBagConstraints); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridwidth=2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.CENTER; + gridBagConstraints.gridwidth = 1; + gridBagConstraints.gridy ++; + gridBagConstraints.gridx=0; + JPanel jpButtons=new JPanel(); + jpButtons.setLayout(new java.awt.FlowLayout()); + jpButtons.add(getButtonAceptar()); + jpButtons.add(getButtonCancelar()); + pn.add(jpButtons,gridBagConstraints); + getContentPane().add(pn, java.awt.BorderLayout.CENTER); + pack(); + show(); + UtilGUI.centerOnScreen(this); + } + + public void updateData(){ + jpInternalPanel.updateTerminals(); + } + + private JButton getButtonAceptar(){ + if(btnAceptar==null){ + btnAceptar=new JButton(); + btnAceptar.setText("Aceptar"); + btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif"))); + btnAceptar.addActionListener(this); + } + return btnAceptar; + } + + private JButton getButtonCancelar(){ + if(btnCancelar==null){ + btnCancelar=new JButton(); + btnCancelar.setText("Cancelar"); + btnCancelar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("cancelar32.gif"))); + btnCancelar.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent evt){ + setVisible(false); + dispose(); + } + } + + ); + } + return btnCancelar; + } + + public void actionPerformed(ActionEvent evt){ + TerminalSanitario objTer=null; + try{ + objTer=(TerminalSanitario)jpInternalPanel.getTerminalesPanel().getCmbImageComboTerminales().getSelectedItem(); + }catch(Exception err){ + + } + if(objTer==null){ + WebServiceTrayIcon.showMessage(this,this.getTitle(),"El usuario debe estar asociado a un Terminal Sanitario",JOptionPane.ERROR_MESSAGE); + return; + } + String sLogin=jpInternalPanel.getJtxtLogin().getText().trim(); + String sPass=new String(jpInternalPanel.getJtxtPassword().getPassword()); + + UsuarioTVSBean objBean=new UsuarioTVSBean(); + UsuarioTVS objUser=new UsuarioTVS(); + objUser.setTerminal(objTer); + objUser.setLogin(sLogin); + objUser.setPassword(sPass); + int nRetorno=objBean.insertInLocal(objUser); + if(nRetorno>0){ + WebServiceTrayIcon.showMessage(this,this.getTitle(),"Nuevo Usuario TVS almacenado",JOptionPane.INFORMATION_MESSAGE); + }else{ + WebServiceTrayIcon.showMessage(this,this.getTitle(),"Usuario TVS no pudo ser almacenado",JOptionPane.ERROR_MESSAGE); + } + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoUsuarioTVSPanel.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoUsuarioTVSPanel.java new file mode 100644 index 0000000..074e4d5 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/NuevoUsuarioTVSPanel.java @@ -0,0 +1,96 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; +import javax.swing.*; + +public class NuevoUsuarioTVSPanel extends JPanel{ + private JPanel jpPanlePrincipal=new JPanel(); + private TerminalesPanel objTerminalesPanel=new TerminalesPanel(); + private JTextField jtxtLogin=new javax.swing.JTextField(""); + private JPasswordField jtxtPassword=new javax.swing.JPasswordField(""); + + public NuevoUsuarioTVSPanel(){ + super(); + init(); + } + + + + private void init(){ + setLayout(new BorderLayout()); + initPane(); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpPanlePrincipal, gridBagConstraints); + gridBagConstraints.gridx = 1; + add(pn, java.awt.BorderLayout.CENTER); + + + } + + + private void initPane(){ + jpPanlePrincipal.setLayout(new java.awt.GridBagLayout()); + jpPanlePrincipal.setBorder(new javax.swing.border.TitledBorder("Nuevo Usuario del TVS")); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + + gridBagConstraints.gridwidth = 2; + jpPanlePrincipal.add(getTerminalesPanel(), gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridwidth = 1; + JLabel label=new javax.swing.JLabel("Login:"); + jpPanlePrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jtxtLogin.setColumns(14); + jpPanlePrincipal.add(jtxtLogin, gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridx=0; + label=new javax.swing.JLabel("Password:"); + jpPanlePrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jtxtLogin.setColumns(8); + jpPanlePrincipal.add(jtxtPassword, gridBagConstraints); + + } + + public void updateTerminals(){ + getTerminalesPanel().update(); + } + + + /** + * @return + */ + public JTextField getJtxtLogin() { + return jtxtLogin; + } + + /** + * @return + */ + public JPasswordField getJtxtPassword() { + return jtxtPassword; + } + + /** + * @return + */ + public TerminalesPanel getTerminalesPanel() { + return objTerminalesPanel; + } + + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/ProgressBarThread.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/ProgressBarThread.java new file mode 100644 index 0000000..e7827e0 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/ProgressBarThread.java @@ -0,0 +1,35 @@ +/* + * Creado el 20-feb-07 + * + * Para cambiar la plantilla para este archivo generado vaya a + * Ventana>Preferencias>Java>Generacin de cdigo>Cdigo y comentarios + */ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import com.tarisan.chipcard.gui.*; +/** + * @author jjrider + * + * Para cambiar la plantilla para este comentario de tipo generado vaya a + * Ventana>Preferencias>Java>Generacin de cdigo>Cdigo y comentarios + */ +public class ProgressBarThread extends Thread{ + VentanaProgreso vProgress=null; + private int nMaxSegundos=30; + + public ProgressBarThread(VentanaProgreso objV,int nMax){ + vProgress=objV; + nMaxSegundos=nMax; + } + public void run(){ + vProgress.show(); + int nSegundos=0; + while(vProgress.isVisible()){ + try{ + vProgress.setProgressState((nSegundos*100)/nMaxSegundos); + Thread.currentThread().sleep(1000); + nSegundos++; + }catch(Exception err){} + } + } +} \ No newline at end of file diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/TerminalesFrame.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/TerminalesFrame.java new file mode 100644 index 0000000..21cdea0 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/TerminalesFrame.java @@ -0,0 +1,41 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +/** + * @author jjrider + * + * Para cambiar la plantilla para este comentario de tipo generado vaya a + * Ventana>Preferencias>Java>Generacin de cdigo>Cdigo y comentarios + */ +public class TerminalesFrame extends JFrame{ + TerminalesPanel jpTerminalesPanel=new TerminalesPanel(); + + public TerminalesFrame(){ + setTitle("Terminales Sanitarios"); + init(); + } + + private void init(){ + getContentPane().setLayout(new BorderLayout()); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpTerminalesPanel, gridBagConstraints); + gridBagConstraints.gridx = 1; + getContentPane().add(pn, java.awt.BorderLayout.CENTER); + pack(); + show(); + UtilGUI.centerOnScreen(this); + jpTerminalesPanel.update(); + } + +} diff --git a/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/TerminalesPanel.java b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/TerminalesPanel.java new file mode 100644 index 0000000..f6ea938 --- /dev/null +++ b/Fuentes/com/tarisan/chipcard/tpvvs/webservicetrayicon/TerminalesPanel.java @@ -0,0 +1,123 @@ +package com.tarisan.chipcard.tpvvs.webservicetrayicon; + +import java.awt.BorderLayout; + +import javax.swing.*; + +import com.tarisan.chipcard.gui.*; + +import java.util.*; + +import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*; +import java.awt.event.*; + +public class TerminalesPanel extends JPanel{ + /** + * + */ + private static final long serialVersionUID = 7655462092194141627L; + private JPanel jpPanlePrincipal=new JPanel(); + private ImageComboBox cmbImageComboTerminales=new ImageComboBox(); + + JLabel jlblEsTerminalLaboratorio=new javax.swing.JLabel(""); + + public TerminalesPanel(){ + super(); + init(); + } + + + + private void init(){ + setLayout(new BorderLayout()); + initProductsPane(); + JPanel pn=new JPanel(); + pn.setLayout(new java.awt.GridBagLayout()); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + pn.add(jpPanlePrincipal, gridBagConstraints); + gridBagConstraints.gridx = 1; + add(pn, java.awt.BorderLayout.CENTER); + + cmbImageComboTerminales.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent evt){ + //System.out.println(); + TerminalSanitario p=(TerminalSanitario)cmbImageComboTerminales.getSelectedItem(); + showTerminalSanitario(p); + } + }); + + + } + + + private void showTerminalSanitario(TerminalSanitario p){ + if(p!=null){ + getCmbImageComboTerminales().setSelectedItem(p); + String sTVA=((p.isTVA())?"Si":"No"); + jlblEsTerminalLaboratorio.setText(sTVA); + } + } + + + private void initProductsPane(){ + jpPanlePrincipal.setLayout(new java.awt.GridBagLayout()); + jpPanlePrincipal.setBorder(new javax.swing.border.TitledBorder("Terminales Sanitarios")); + java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); + + gridBagConstraints.gridwidth = 1; + gridBagConstraints.gridy++; + + JLabel label=new javax.swing.JLabel("Numero Terminal:"); + jpPanlePrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jpPanlePrincipal.add(cmbImageComboTerminales, gridBagConstraints); + + gridBagConstraints.gridy++; + gridBagConstraints.gridx=0; + + label=new javax.swing.JLabel("Terminal Laboratorio:"); + jpPanlePrincipal.add(label, gridBagConstraints); + gridBagConstraints.gridx++; + jpPanlePrincipal.add(jlblEsTerminalLaboratorio, gridBagConstraints); + + } + + + public void update(){ + //if(cmbImageComboTerminales) + cmbImageComboTerminales.removeAllItems(); + TerminalSanitarioBean b=new TerminalSanitarioBean(); + Vector v=b.getTerminalesSanitarios(); + for(int i=0;i