Foro Oficial de Java

fram7

Lanero Reconocido
14 Oct 2004
1,431
Que codigo tan feo, lanzado excepciones en el main :p :p
 

Jesus_ADS

Lanero Regular
12 May 2006
44
Duda

NSlaver dijo:
Tendrias que hacer un programa interprete, pero de forma mas sencilla:

Un ejemplo utilizando las librerias de sax que vienen con jsdk:
sacado de http://www.saxproject.org/quickstart.html con una modificacion para mostrar los atributos.........
PHP:
import java.io.FileReader;
 
import org.xml.sax.XMLReader;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.helpers.XMLReaderFactory;
import org.xml.sax.helpers.DefaultHandler;
 
 
public class MySAXApp extends DefaultHandler
{
 
public static void main (String args[]) throws Exception
{
XMLReader xr = XMLReaderFactory.createXMLReader();
MySAXApp handler = new MySAXApp();
xr.setContentHandler(handler);
xr.setErrorHandler(handler);
 
// Parse each file provided on the
// command line.
 
FileReader r = new FileReader("myXMl.xml");
xr.parse(new InputSource(r));
 
}
 
 
public MySAXApp ()
{
super();
}
 
 
////////////////////////////////////////////////////////////////////
// Event handlers.
////////////////////////////////////////////////////////////////////
 
 
public void startDocument ()
{
System.out.println("Start document");
}
 
 
public void endDocument ()
{
System.out.println("End document");
}
 
 
public void startElement(String uri, String name, String qName,
Attributes atts) {
if ("".equals(uri)) {
System.out.println("Start element: " + qName);
for(int i = 0; i<atts.getLength();i++){
System.out.println("Atribute name: " + atts.getQName(i) );
System.out.println("Atribute value: " + atts.getValue(i) );
}
 
} else {
System.out.println("Start element: {" + uri + "}" + name);
}
}
 
 
public void endElement (String uri, String name, String qName)
{
if ("".equals (uri))
System.out.println("End element: " + qName);
else
System.out.println("End element: {" + uri + "}" + name);
}
 
 
public void characters (char ch[], int start, int length)
{
System.out.print("Characters: \"");
for (int i = start; i < start + length; i++) {
switch (ch[i]) {
case '\\':
System.out.print("\\\\");
break;
case '"':
System.out.print("\\\"");
break;
case '\n':
System.out.print("\\n");
break;
case '\r':
System.out.print("\\r");
break;
case '\t':
System.out.print("\\t");
break;
default:
System.out.print(ch[i]);
break;
}
}
System.out.print("\"\n");
}
 
}

La cosa parece un poco complicada, pero es de lo mas sencillo; el condigo de verdad viene al manejar los eventos que se generar el Parser de XML que se encarga de la lectura y manejo del xml.

Hola de nuevo...:-p una pregunta... estoy teniendo un problemita con esto...:S Me funciona bien, ya lo modifique y todo, Lo hice que cada ves que saque la informacion lo valla guardando en el arbol y lo guarda fino, el problema es que cuando sale del

xr.parse(new InputSource(r));

(eso esta en el main del ejemplo) pierdo todo lo que ya habia guardado, osea, se pierde el arbol... :( hay alguna forma de que no se pierda??? :( gracias... (please help!!)
 

NSlaver

Jack of all trades
16 Abr 2002
3,540
EL código esta feito como para utilizarlo de una; por que no hace un método que retorno un árbol??

Algo así:

public static Arbol (String url)

El método se encarga de crear y poblar el árbol.
 

Jesus_ADS

Lanero Regular
12 May 2006
44
Thanks

No lo estoy utilizando de una... yo lo cambie casi todo a lo que necesito.... pero ya encontre por que lo perdia...:-p gracias de todas maneras, tu comentario me dio otra idea...=)
 

Jesus_ADS

Lanero Regular
12 May 2006
44
Guardar en un archivo .txt

Hola de nuevo...=) Necesito guardar en un archivo con un cierto formato pero no logro guardar en el archivo un enter (fin de línea) creia que con un "\n" funcionaria pero me escribe todo en una misma línea y en ves del "\n" coloca un cuadrito...:S como hago para que en el archivo de salida se guarde en lines diferentes???? Gracias:-p

asi lo estoy haciendo:

PHP:
File file = new File("c:/salida.txt");
FileWriter out = new FileWriter(file.getAbsolutePath(), true);
 
out.write("palabra1\npalabra2\npalabra3");
 
//o tambien lo intente asi
 
out.write("palabra1");
out.write("\n");
out.write("palabra2");
out.write("\n");
out.write("palabra3");
 
out.close();
 

Yeison

Lanero Líder
Lanero VIP
1 Feb 2004
11,181
Jesus_ADS dijo:
Hola de nuevo...=) Necesito guardar en un archivo con un cierto formato pero no logro guardar en el archivo un enter (fin de línea) creia que con un "\n" funcionaria pero me escribe todo en una misma línea y en ves del "\n" coloca un cuadrito...:S como hago para que en el archivo de salida se guarde en lines diferentes???? Gracias:-p

asi lo estoy haciendo:

PHP:
File file = new File("c:/salida.txt");
FileWriter out = new FileWriter(file.getAbsolutePath(), true);
 
out.write("palabra1\npalabra2\npalabra3");
 
//o tambien lo intente asi
 
out.write("palabra1");
out.write("\n");
out.write("palabra2");
out.write("\n");
out.write("palabra3");
 
out.close();


Hola Jesus aqui esta la respuesta a tu problema:

en ves de usar \n utiliza asi para el salto de linea:

out.write(System.getProperty("line.separator"));

Esa linea te devolvera un salta de linea sin importar el sistema operativo... es excelente salu2 y espero que te funcione;)
 

Jesus_ADS

Lanero Regular
12 May 2006
44
Gracias

Yeison dijo:
Hola Jesus aqui esta la respuesta a tu problema:

en ves de usar \n utiliza asi para el salto de linea:

out.write(System.getProperty("line.separator"));

Esa linea te devolvera un salta de linea sin importar el sistema operativo... es excelente salu2 y espero que te funcione;)


Gracias...=) era lo que necesitaba :-p
 

facp

Lanero Reconocido
Lanero VIP
5 Feb 2005
860
Salu2. bueno les dejo este aporte: para los que usan Java para crear aplicaciones Web.... los invito a probar el Google Web Toolkit que permite hacer cosas al estilo de Ajax... pero programandolas en Java... ya que el genera el codigo de Ajax necesario.
 

Mary_L

Lanero Regular
8 Jul 2006
4
Ayudita con NetBeans 5.0

Hola chicos=) , necesito de su ayuda, estoy utilizando netbeans para hacer una aplicacion en swing y ahora no se como hacer algo.

Yo hice un formulario para que calculara lo que nececito, lo corri y me funciono bien, y luego de eso hice otro formulario para ponerlo como precentacion y que ese me llamara al primer formulario, pero ahora por defecto siempre que lo corro me abre primero el formulario que cree de primero en ves del que yo quiero que sea mi presentacion... Alguien sabe como colocarlo como principal??? :( Thanks ;)
 

jclaurian

Lanero Regular
8 Jul 2006
10
Cómo hacer pequeña la letra de un botón

Saludos a todos, este es mi primer mensaje en el foro, tengo un problemita. Tengo un panel con botones de 30 x 30, cada boton tiene un número (estoy haciendo una calculadora) pero estos al parecer no caben en el botón y por lo tanto, me aparece "..." sólo si los hago de 50 x 50 minimo aparecen los números, pero se me hacen muy grandes, mi pregunta es, ¿cómo puedo hacer que la letra del botón sea mas pequeña para que se puedan visualizar?
 

Mary_L

Lanero Regular
8 Jul 2006
4
Otra ves yo...

Mary_L dijo:
Hola chicos=) , necesito de su ayuda, estoy utilizando netbeans para hacer una aplicacion en swing y ahora no se como hacer algo.

Yo hice un formulario para que calculara lo que nececito, lo corri y me funciono bien, y luego de eso hice otro formulario para ponerlo como precentacion y que ese me llamara al primer formulario, pero ahora por defecto siempre que lo corro me abre primero el formulario que cree de primero en ves del que yo quiero que sea mi presentacion... Alguien sabe como colocarlo como principal??? :( Thanks ;)


Que paso? nadie sabe como hacerlo??? de verdad necesito arreglar eso... Agradezco su ayuda...:(
 

Jesus_ADS

Lanero Regular
12 May 2006
44
jclaurian dijo:
Saludos a todos, este es mi primer mensaje en el foro, tengo un problemita. Tengo un panel con botones de 30 x 30, cada boton tiene un número (estoy haciendo una calculadora) pero estos al parecer no caben en el botón y por lo tanto, me aparece "..." sólo si los hago de 50 x 50 minimo aparecen los números, pero se me hacen muy grandes, mi pregunta es, ¿cómo puedo hacer que la letra del botón sea mas pequeña para que se puedan visualizar?

Hola prueba con esto:

PHP:
Font fondo = new Font("Arial",Font.BOLD,10);
Button.setFont(fondo);
 
// tienes que importar java.awt.Font;
// los parametros del Font son: 
// 1.- Tipo de letra, 
// 2.- Estilo de la letra (Font.PLAIN,Font.BOLD,Font.ITALIC) 
// 3.- Tamaño de la letra
// prueba a ver que tamaño de letra te funciona

espero te funcione=)
 

Mary_L

Lanero Regular
8 Jul 2006
4
FM Static dijo:
El main si está llamando al formulario que quieres que aparezca de primero?

todos los formularios tienen su propio main que se llaman a ellos mismos,

PHP:
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }

lo que no se es como hacer para que el que ya esta como principal, cambiarlo a otro, osea, ahorita cuando corro mi programa se abre el primero que cree, y me interesa que sea otro porque es el que hice como portada por asi llamarlo...:(
 

jomunoz

Lanero Reconocido
31 Mar 2004
682
Mary_L dijo:
todos los formularios tienen su propio main que se llaman a ellos mismos,
lo que no se es como hacer para que el que ya esta como principal, cambiarlo a otro, osea, ahorita cuando corro mi programa se abre el primero que cree, y me interesa que sea otro porque es el que hice como portada por asi llamarlo...:(

En el .JAR se define cual es el la clase principal, la cosa es que el .JAR lo genera el IDE automaticamente, en mi caso que uso NetBeans le doy click derecho al proyecto y luego a "Propierties->Run->MainClass".
 

Mary_L

Lanero Regular
8 Jul 2006
4
Gracias

jomunoz dijo:
En el .JAR se define cual es el la clase principal, la cosa es que el .JAR lo genera el IDE automaticamente, en mi caso que uso NetBeans le doy click derecho al proyecto y luego a "Propierties->Run->MainClass".

Muchisimas gracias... no habia visto esa opcion... =) me salvaste la vida... :-p ;)
 

jclaurian

Lanero Regular
8 Jul 2006
10
Eventos

Saludos, tengo este código, se supone que estoy haciendo una calculadora, bueno, mi problema horita es con los eventos, al oprimir el boton, no pasa nada, tengo el siguiente código:

Código:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class CVentana 
{
    JButton uno    = new JButton("1");
    acciones Hacer;

    
    void ventana()
    {        
    
        //Por aca estan todos los botones en el frame
        ventana.add(uno)

        uno.addActionListener(Hacer);
        
        Ventana.setVisible(true);
    }
    
    class acciones implements java.awt.event.ActionListener
    {
        public void actionPerformed(java.awt.event.ActionEvent evento)
        {
            Object objeto = evento.getSource();
            
            if(objeto == uno)
                System.out.println("Oprimio 1");
        }
    }
    
}

public class CCalculadora2 
{
        
    public static void main(String args[]) throws Exception
    {        
        CVentana Calculadora = new CVentana();
        Calculadora.ventana();
    }
}

E comparado con un manual que estoy siguiendo, pero no veo que me falta :s no me funciona
 

fram7

Lanero Reconocido
14 Oct 2004
1,431
jclaurian dijo:
Saludos, tengo este código, se supone que estoy haciendo una calculadora, bueno, mi problema horita es con los eventos, al oprimir el boton, no pasa nada, tengo el siguiente código:

Código:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class CVentana 
{
    JButton uno    = new JButton("1");
    acciones Hacer;

    
    void ventana()
    {        
    
        //Por aca estan todos los botones en el frame
        ventana.add(uno)

        uno.addActionListener(Hacer);
        
        Ventana.setVisible(true);
    }
    
    class acciones implements java.awt.event.ActionListener
    {
        public void actionPerformed(java.awt.event.ActionEvent evento)
        {
            Object objeto = evento.getSource();
            
            if(objeto == uno)
                System.out.println("Oprimio 1");
        }
    }
    
}

public class CCalculadora2 
{
        
    public static void main(String args[]) throws Exception
    {        
        CVentana Calculadora = new CVentana();
        Calculadora.ventana();
    }
}

E comparado con un manual que estoy siguiendo, pero no veo que me falta :s no me funciona

lo unico que te falta es inicializar el objeto hacer.
es decir

acciones Hacer=new acciones();

y listo funciona perfecto.