Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 1mpuls0

#1061
Foro Libre / Re: AYUDA: Está nevando en mi portatil
27 Diciembre 2010, 03:41 AM
Feliz Navidad

Y de quién fue la idea?.
La verdad me gusta =)
#1062
Java / Re: Como puedo Editar mis Propias Excepciones
24 Diciembre 2010, 07:32 AM
Hola primero que nada, trata de corregir un poco tu escritura o por lo menos de explicar bien tú duda (Hay oraciones que no comprendo).

Lee bien toda la información que encuentres acerca de try catch o manejo de excepciones, para que comprendas mejor.

Como ya te ha dicho el compañero es mejor que te hagas un cátalogo con tus propias excepciones.
Ya que es muy complicado tratar de modificar las clases y además como mencionan, son utilizadas por otras clases y generaría problemas.

Cita de: cyberserver en 24 Diciembre 2010, 01:14 AM
¿Como sabe que es una Exception y que no es solo el retorno de una variable de un metodo?

Cita de: sapito169 en 24 Diciembre 2010, 07:11 AM
creo que lo que tratas de preguntar como se lansa una excepcion personalizada dentro de un metodo

Yo pienso que se refire a cuando por ejemplo cuando tienes algo como esto.

Código (java) [Seleccionar]

try {
...
}
catch(Exception e) {
System.out.println(e);
}


Y entras al bloque del catch te manda algo como por ejemplo en el caso de una mala conversión parser.

java.lang.NumberFormatException: "a"

como sabe la clase Exception que tipo de mensaje te va a retornar.

por qué no te manda cualquier otro como??

java.lang.ArithmeticException: / by zero

La verdad no estoy seguro de como reconoce el tipo de error.

Un saludo.
#1063
Has intentado con

Código (java) [Seleccionar]

try {
        ...
}
catch(Exception Error) {
       JOptionPane.showMessengerDialog(null,Error.getMessage());
}


Además no lo estas hacienco como se deve (lo digo por tú código Java) ya que debes utilizar POO.

Por lo menos yo, intentaría manejar las Excepciones aparte.

Por ejemplo.

Código (java) [Seleccionar]

import javax.swing.JOptionPane;

public class Suma {

private int resultado;

public static void main(String args[]) {
new Suma();
}

public Suma() {
String a;
do{
a = JOptionPane.showInputDialog(null, "Escribe un numero entero", "Entrada", 1);
}while(!esNumero(a));

String b;
do {
b = JOptionPane.showInputDialog(null, "Escribe otro numero entero", "Entrada", 1);
}while(!esNumero(b));

int numeroA = Integer.parseInt(a);
int numeroB = Integer.parseInt(b);

int resultadoSuma = Sumar(numeroA, numeroB);

JOptionPane.showMessageDialog(null, "La suma de " +a +" y " +b +" es " + resultadoSuma, "Resultado", 1);

}

private boolean esNumero(String str) {
try {
Integer.parseInt(str);
return true;
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error", 0);
return false;
}
}

    private int Sumar(int numA, int numB) {
    return numA+numB;
    }
}


Estoy utiizando variables de más para explicarme un poco mejor.

La primera idea de Leo Gutiérrez no es mala pero tal vez si el usuario mira que la aplicación no hace nada, llegará a pensar que simplemente está bloqueada o algo por el estilo.
La segunda me parece buena  ;)

Un saludo.

EDITO.
Entonces por lo que entiendo intentas generalizar las excepciones?  :-\ si sabes que el usuario al intentar hacer una suma por que mostrar todo el String que te manda, si puedes hacer por ejemplo.

Código (java) [Seleccionar]

try {
...
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, "Solo se aceptan valores numericos", "Error", 0);
}
#1064
Programación General / Re: Reto Programación
21 Diciembre 2010, 21:30 PM
Cita de: guru6 en 21 Diciembre 2010, 15:16 PM
Si, me hago un poco el lio explicando jajaja
La profesora de matematicas nos dijo que como mejor se resolvia era con grafos, pero como estamos en 2º de bachiller, no damos eso, dijo que haber quien lo resolvia con los menores pasos posibles jaja

Entonces mas bien es una tarea, no un reto  como tal. :¬¬

Pero es interesante crear un algoritmo para resolverlo. Recuerdo que la primera vez lo resolví en 10 segundos, la segunda vez ya no recordaba como xD.

Ahora me has dado algo en que pasar el tiempo.
#1065
Java / Re: Alguien que tenga la libreria Substance
21 Diciembre 2010, 20:22 PM
Aquí la página oficial.
Pero por el momento parece no estar disponible.

https://substance.dev.java.net/

Aquí subí la librería.

http://www.4shared.com/file/mOJrVXov/substance.html


Saludos.
#1066
Java / Re: Desplazamiento de JButton o JLabel
20 Diciembre 2010, 20:17 PM
1. Me disculpo por colocarme como autor de ese código. Tengo muchos programas en mi pc que no recuerdo cuales hice y cuales tomé de alguna web.
2. Debiste colocar la duda que tenias sobre lo que tienes avanzado.
3. Coloca tú códito entre entiquetas de GeSHI
4. Definición de autodidacta: http://es.wikipedia.org/wiki/Autodidacta
5. Y ese código que has puesto ¿?, no entiendo. http://www.java2s.com/Code/Java/Event/MoveShapewithmouse.htm
6. Nunca dije que hubiera creado ese código  :¬¬
Entonces bien, creo qe intentas hacer algo como esto.
http://www.4shared.com/file/ylTrPMVJ/Tabla.html

Un saludo.
#1067
Java / Re: Desplazamiento de JButton o JLabel
20 Diciembre 2010, 14:25 PM
Cita de: c0der en 20 Diciembre 2010, 06:42 AM
No te vallas a ofender amigo agredesco mucho tu respuesta pero ese codigo lo hago en 2 patadas, creo que me falto aclarar que lo importante (que es lo que quiero) que el rapaint se haga cuando hago el movimiento del cursor se te agredece de todas maneras.

No te vayas a ofender, PERO AQUI NO SE HACEN TAREAS!.

Como bien menciono, es un ejemplo. Solo te estaba mostrando las bases.
Si es como dices que lo  haces en 2 patadas(Ya quisiera verlo), solo tienes que cambiar el tipo de evento y alguna que otra cosa más.

Saludos.
#1068
Java / Re: Desplazamiento de JButton o JLabel
19 Diciembre 2010, 22:13 PM
Hola que tal.

Mira aquí tienes un ejemplo de apoyo (que ya es mucho).

Código (java) [Seleccionar]

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.Timer;

public class MovingButton extends JComponent implements ActionListener {


private Timer timer;                        // para iniciar/detener las acciones
    private int animationDuration = 2000;   // cada animación tomará 2 segundos
    private long animStartTime;     // tiempo de inicio de cada animación
    private int translateY = 0;                 // ubicación actual del boton en Y
    private static final int MAX_Y = 100;
    private JButton button = null;

    /**
*
*/
private static final long serialVersionUID = 1L;

public static void main(String args[]) {
        Runnable doCreateAndShowGUI = new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        };
        SwingUtilities.invokeLater(doCreateAndShowGUI);
    }
   
    private static void createAndShowGUI() {
        JFrame f = new JFrame("Moviendo un Boton");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(300, 300);
        JComponent buttonContainer = new MovingButton();
        f.add(buttonContainer);
        f.setVisible(true);
        f.setLocationRelativeTo(null);
    }
   
    /**
     * Pinta nuestro contenedor con un fondo de tablero de ajedrez.
     * Se crea un objeto graphics, se llama a la superclase, que va
     * a pintar a nuestro boton.
     */
    public void paint(Graphics g) {
        g.setColor(Color.white);
        g.fillRect(0, 0, getWidth(), getHeight());
        // traslada nuestros graficos en funcion del valor de traslateY
        g.translate(0, translateY);
        super.paint(g);
    }

   
    /** crear una nueva instancia de TranslucentButton */
    public MovingButton() {
        setLayout(new java.awt.FlowLayout());
        timer = new Timer(30, this);
        button = new JButton("Iniciar");
        button.setOpaque(false);
        button.addActionListener(this);
        add(button);
    }
   
    /**
     * Este metodo controla los clics que inician y detienen la animación
     */
    public void actionPerformed(ActionEvent ae) {
        if (ae.getSource().equals(button)) {
            // clic sobre el botón
            if (!timer.isRunning()) {
                animStartTime = System.nanoTime() / 1000000;
                button.setText("Deterner");
                timer.start();
            } else {
                timer.stop();
                button.setText("Iniciar");
                // coloca la traslación en 0
                translateY = 0;
                // Pinta de nuevo para obtener la posición final borrada
                repaint();
            }
        } else {
            // temporizador de eventos
            // calcular la fracción transcurrida
            long currentTime = System.nanoTime() / 1000000;
            long totalTime = currentTime - animStartTime;
            if (totalTime > animationDuration) {
                animStartTime = currentTime;
            }
            float fraction = (float)totalTime / animationDuration;
            fraction = Math.min(1.0f, fraction);
            // este calculo se hace para pasar translateY de 0 MAX_Y
            // la fraccion va de 0 a 1
             if (fraction < .5f) {
                translateY = (int)(MAX_Y * (2 * fraction));
            } else {
                translateY = (int)(MAX_Y * (2 * (1 - fraction)));
            }
            // pinta el boton en la nueva ubicación.
            repaint();
        }
    }
}


Saludos.
#1069
Yo también conocí a la letra "y" como "eye", pero con el tiempo fue "y griega".
Por el título pensé que era algo oficial.

"Eres lo que escribes..."

Saludos.
#1070
Hola, que tal.
Me parece intersante tú caso, así que intenté un poco, sin mucho éxito.

Se puede utilizar la clase AudioInputStream y su metodo AudioFileFormat (que contiene a AudioFormat) para saber el formato (y frecuencia) y  puedes utilizar AudioSystem para escribir.
Con base en la frecuencia del formato se puede saber cuantos bytes son en 2 segundos, e ir escribiendo mediante un ciclo la lectura de bytes en un nuevo archivo.

Aunque si no mal recuerdo los archivos wav tienen una cabecera, lo cual no se si impida que las demas partes puedan reproducirse correctamente.

Aquí te dejo un código que estoy implementando, no es funcional, pero creo que te serviria para darte una idea.

Código (java) [Seleccionar]

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.UnsupportedAudioFileException;

public class AudioSplit {

public static void main(String args[]) {
new AudioSplit();
}

public AudioSplit() {
split();
}

public File[] split() {

File[] output1 = new File[3];
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("dance.wav"));
long frames = audioInputStream.getFrameLength();

int[] splits = {(int) (frames/3),(int) (frames/3), (int) (frames/3)};
splits[2] -= (splits[0]+splits[1]);

for (int i = 0; i < splits.length; i++) {
byte[] data = new byte[splits[i]*audioInputStream.getFormat().getFrameSize()];
int nBytesRead = 0;
int counter = 0;
while ((nBytesRead != -1)&&(counter < data.length)) {
nBytesRead = audioInputStream.read(data, counter, data.length-counter);
if (nBytesRead != -1) {
counter += nBytesRead;
}
}

File outputFile = new File("element" + i+ ".wav");
ByteArrayInputStream bais = new ByteArrayInputStream(data);
AudioInputStream ais = new AudioInputStream(audioInputStream, audioInputStream.getFormat(), audioInputStream.getFrameLength() );
        AudioSystem.write(ais, AudioFileFormat.Type.WAVE, outputFile);
        }
} catch(UnsupportedAudioFileException ex) {
Logger.getLogger(AudioSplit.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(AudioSplit.class.getName()).log(Level.SEVERE, null, ex);
}

return output1;
}

}


Estaré intentando hasta que pueda obtener algun resultao óptimo.

Saludos