next up previous contents
Next: Codigo fuente aplicaciones en Up: Código fuente de aplicaciones Previous: Código fuente programa JDBCInserta.java   Contents


Código fuente programa Ir.java

import java.io.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

final public class ir extends WindowAdapter

  implements ActionListener {

  // Main Frame

  private Frame mainFrame;

  private static TextArea area;

  //Menu items - file -

  private Menu fileMenu;

  private MenuItem exitMI;

  private MenuItem openMI;

  private MenuItem saveMI;

  private MenuItem saveasMI;

  private MenuItem printMI;

  private MenuItem closeMI;

  //Menu items - help -

  private Menu helpMenu;

  private MenuItem aboutMI;

  // Panel

  private Panel mainPanel;

  //Window Size

  private int windowWidth = 240;

  private int windowHeight = 320;

  private int titleHeight = 13; 

  private int taskbarHeight = 19;

  private int margin = 2;

  public ir (String[] menu_prin, String[] menu_arch, String[]      

    menu_ayuda) {

    // Create frame

    mainFrame = new Frame("Impresion via IrDa");

    Button b = new Button("Imprimir CB");

    area = new TextArea("01234567890",1,2);

    mainFrame.setSize(240,280);

    mainFrame.setLayout( new BorderLayout() );

    b.addActionListener(this);

    mainFrame.add(area, BorderLayout.NORTH);

    mainFrame.add(b, BorderLayout.SOUTH);

    // Create menu bar

    MenuBar mb = new MenuBar();

    mainFrame.setMenuBar(mb);

    //File Menu

    fileMenu = new Menu(menu_prin[0]);

    openMI = new MenuItem(menu_arch[0]);

    saveMI = new MenuItem(menu_arch[1]);

    saveasMI = new MenuItem(menu_arch[2]);

    printMI = new MenuItem(menu_arch[3]);

    closeMI = new MenuItem(menu_arch[4]);

    exitMI = new MenuItem(menu_arch[5]); //"Exit"

    exitMI.addActionListener(this);

    fileMenu.add(openMI);

    fileMenu.add(saveMI);

    fileMenu.add(saveasMI);

    fileMenu.add(printMI);

    fileMenu.add(closeMI);

    fileMenu.add(exitMI);

    mb.add(fileMenu);

    //Help Menu

    helpMenu = new Menu(menu_prin[1]);

    aboutMI = new MenuItem(menu_ayuda[0]); //"Acerca"); 

    aboutMI.addActionListener(this);

    helpMenu.add(aboutMI);

    mb.add(helpMenu);

    //setup panel

    mainPanel = new Panel();

    mainFrame.add(mainPanel);

    mainPanel.setVisible(true);

    // setup frame

    mainFrame.addWindowListener(this);

    mainFrame.setSize((windowWidth - margin + 2 ), (windowHeight -

                      titleHeight - taskbarHeight - margin * 2 ));

    mainFrame.setVisible( true );

    mainFrame.setResizable(false);

    mainFrame.show();

  }

  // Event handling

  // windows event

  public void windowClosing (WindowEvent we) {

    if(we.getWindow() == mainFrame) {

      System.exit(0);

    }

  }

  // action event

  public void actionPerformed (ActionEvent ae) {

    Object o = ae.getSource();

    if (o instanceof MenuItem) {

      MenuItem mi = (MenuItem)o;

      if (mi == exitMI) {

        System.exit(0);

      } else if (mi ==aboutMI) {

        new l10nAbout();

      } else if (mi == printMI) {

        try { convert(); 

        } catch (Exception e) {

          System.err.println(e);

          System.exit(1);

        }

      } 

    } else if( o instanceof Button ) {

      Button bi = (Button) o;

      if( o == bi ) {

        try { convert(); 

        } catch (Exception e) {

          System.err.println(e);

          System.exit(1);

        }

      }

    }

  }

  public static String locale_en_Z() throws IOException

  {

    StringTokenizer st1;

    String quote = "";

    FileReader infile = new FileReader("locale.conf");

    BufferedReader buff = new BufferedReader(infile);

    boolean eof = false;

    boolean siguiente = false;

    while( !eof ) {

      String line = buff.readLine();

      if( line == null )

        eof = true;

      else {

        if( siguiente ) { 

          quote = line;

          siguiente = false;

        }

        line = line.trim();

        if( line.equals("[Language]") ) siguiente = true;

      }

    }

    buff.close();

    st1 = new StringTokenizer( quote, "=");

    st1.nextToken();

    return st1.nextToken(); 

  }

  public static void main (String args[]) {

    String[][] menu_prin = { {"Archivo","Ayuda"}, {"File","Help"},

                             {"Akte","Hilfe"} };

    String[][] menu_arch = { {"Abrir","Guardar","Guardar Como",

                              "Imprimir","Cerrar","Salir"},

                             {"Open","Save","Save as",

                              "Print","Close","Exit"},

                             {"Geoffnet","AuBer","AuBer wie",

                              "Druck","Ende","Auf Wiedersehen"} };

    String[][] menu_ayuda = { {"Acerca"}, {"About"}, {"Uber"} };

    int arreglo; // 0 = sp, 1 = en, 2 = de

    String localiza = "sp";

    try { localiza = locale_en_Z(); }

    catch (IOException e) {

      System.err.println(e);

      return;

    } 

    localiza = localiza.trim(); 

    if( args.length == 1 ) localiza = args[0];

      arreglo = 0; // sp por defecto

      if(localiza.equals("sp")) arreglo = 0;

      else if(localiza.equals("en")) arreglo = 1;

      else if(localiza.equals("de")) arreglo = 2;

      ir foo = new ir(menu_prin[arreglo], menu_arch[arreglo],   

                      menu_ayuda[arreglo]);

    }

    public static void convert() throws IOException,    

      UnsupportedEncodingException {

      try { 

        String bc;

        char[] bc_user = new char[11]; 

        String texto = "";

        InputStream in;

        OutputStream out;

        String infile = "holaz.lbl";

        String outfile = "/dev/irlpt0";

        int ubicacion, larea;

        if( infile != null) in = new FileInputStream(infile);

          else return;

        if( outfile != null) out = new FileOutputStream(outfile);

          else return;

        Reader r = new BufferedReader( new 

                             InputStreamReader(in));

        Writer w = new BufferedWriter( new

                             OutputStreamWriter(out));

        bc = area.getText();

        larea = bc.length();

        for( int j = 0; j < larea; j++ )

          bc_user[j] = bc.charAt(j);

          texto = "! 0 200 200 400 1\n\r";

          texto += "LABEL\n\r";

          texto += "CONTRAST 0\n\r";

          texto += "TONE 0\n\r";

          texto += "SPEED 5\n\r";

          texto += "PAGE-WIDTH 600\n\r";

          texto += "BAR-SENSE\n\r";

          texto += ";// PAGE 0000000006000400\n\r";

          texto += "T90 5 3 21 296 Hola Mundo\n\r";

          texto += "T 5 3 157 89 Desde la ZAURUS\n\r";

          texto += "BT 0 2 10\n\r";

          texto += "B UPCA 2 1 90 164 176 "; 

          ubicacion = texto.length();

          texto += bc;

          texto += " \n\r";

          texto += "BT OFF\n\r";

          texto += "BOX 24 90 129 308 1\n\r";

          texto += "LINE 279 322 279 338 21\n\r";

          texto += "BOX 262 314 322 350 1\n\r";

          texto += "FORM\n\r";

          texto += "PRINT\n\r";

          char[] buffer = new char[4096];

          int len;

          while( (len = r.read(buffer)) != -1 ) {

            for( int k = 0; k < larea; k++ )

              buffer[ubicacion+k] = bc_user[k];

              w.write(buffer, 0, len);

              System.err.print(buffer[ubicacion]);

              ubicacion++;

              System.err.print(buffer[ubicacion]);

            }

            r.close();

            w.close();

          } catch (Exception e) {

            System.err.println(e);

            System.exit(1);

          } 

        } 

      }


next up previous contents
Next: Codigo fuente aplicaciones en Up: Código fuente de aplicaciones Previous: Código fuente programa JDBCInserta.java   Contents
Cancerbero 2005-02-25