Feliz Navidad
Y de quién fue la idea?.
La verdad me gusta =)
Y de quién fue la idea?.
La verdad me gusta =)
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ú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
try {
...
}
catch(Exception e) {
System.out.println(e);
}
java.lang.NumberFormatException: "a"
java.lang.ArithmeticException: / by zero
try {
...
}
catch(Exception Error) {
JOptionPane.showMessengerDialog(null,Error.getMessage());
}
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;
}
}
try {
...
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, "Solo se aceptan valores numericos", "Error", 0);
}
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
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.
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();
}
}
}
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;
}
}