Java - como puedo correr varias clases en un una clase main utilizando switch

 
Vista:
Imágen de perfil de Annie

como puedo correr varias clases en un una clase main utilizando switch

Publicado por Annie (23 intervenciones) el 19/05/2015 05:25:23
como puedo correr varias clases en un una clase main utilizando switch?
ejemplo: Hice un package llamado Figuras
tengo 3 programas de cubo, esfera y cilindro y necesito que los 3 corran o esten en un menu asi:

NOTA: pero me da Error, que mas pongo?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package Figuras;
import java.util.*;
public class Figuras {
public static void main(String arg [])
{
switch(opcion)
case 1:
cubo cubo=new cubo();
cubo.entradadatos();
cubo.procesodatos();
cubo.salidadatos();
break;
case 2:
esfera esfera=new esfera();
esfera.entradadatos();
esfera.procesodatos();
esfera.salidadatos();
break;
case 3:
cilindro cilindro=new cilindro();
cilindro.entradadatos();
cilindro.procesodatos();
cilindro.salidadatos();
break;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 214
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

como puedo correr varias clases en un una clase main utilizando switch

Publicado por juanki (131 intervenciones) el 20/05/2015 13:07:53
Hola

Pues te faltó poner el error.

Te falta iniciar la variable opcion.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de Mario

como puedo correr varias clases en un una clase main utilizando switch

Publicado por Mario (28 intervenciones) el 21/05/2015 20:27:55
Hola buena tarde.
Te dejo un ejemplo utilizando clases con String y la construcción de la clase por medio de un switch.
Ojala te pueda dar una idea de lo que quieres hacer.
Saludos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import java.io.Serializable;
import java.lang.reflect.Constructor;
 
import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JToggleButton;
import javax.swing.border.TitledBorder;
 
/**
 * 
 */
 
/**
 * @author el desconocido :D
 *
 */
public class cero extends JPanel implements Serializable {
 
	/**
	 * 
	 */
	public cero() {
		// TODO Auto-generated constructor stub
		//for para moverse entre ids(nombre de los botones y construir el objecto Button de cada uno
		for(String gh: ids) {
			switch (gh) {
			case "Uno":
				add(crear(JButton.class, ids));
				break;
			case "Dos":
				add(crear(JToggleButton.class, ids));
				break;
			case "Tres":
				add(crear(JToggleButton.class, ids));
				break;
			case "Cuatro":
				add(crear(JRadioButton.class, ids));
			default:
				System.out.println("No puedo crear nada");
				break;
			}
		}
	}
	/*
	 * Metodo que devuelve el panel con los botones creados.
	 */
	protected JPanel crear(Class<?> bClass, String ids[]) {
		ButtonGroup botones = new ButtonGroup(); //Se crea un grupo de botones
		JPanel panel = new JPanel(); //Panel contenedor de los botones
		//Se obtiene el nombre de la clase
		String titulo = bClass.getName();
		//Se extrae el nombre exacto de la clase
		titulo = titulo.substring(titulo.lastIndexOf('.') + 1);
		//se crea el panel con el titulo
		panel.setBorder(new TitledBorder(titulo));
		for (int i = 0; i < ids.length; i++) {
			AbstractButton botonAbs = new JButton("fallo");
			try {
				/**
				 * Contructor dinamico al que se pasa una
				 * cadena como argumento
				 */
				Constructor<?> ctor = bClass
						.getConstructor(new Class[] { String.class });
				//Se crea un nuevo objeto del tipo boton
				botonAbs = (AbstractButton) ctor
						.newInstance(new Object[] { ids[i] });
			} catch (Exception e) {
				while (e != null) {
					System.out.println("Error no se puede crear por:" + e.getCause());
				}
			}
			botones.add(botonAbs); //Se colocan los botones al ButtonGroup
			panel.add(botonAbs); //Se colocan en el panel
		}
		return (panel); //Se regresa el panel 
	}
 
	/**
	 * 
	 */
	protected String ids[] = { "Uno", "Dos", "Tres", "Cuatro" };
 
	/**
	 * 
	 */
	protected static final long serialVersionUID = -7667701129292859215L;
 
}
 
//Clase principal(main)
 
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import javax.swing.JFrame;
 
 
 
/**
 * @author el desconocido :D
 *
 */
public class Zero {
 
	/**
	 * @param args
	 */
	public static void main(String... args) {
		// TODO Auto-generated method stub
		JFrame frame = new JFrame("Swing Java");
		frame.getContentPane().add(new cero(), BorderLayout.CENTER);
		frame.setSize(600, 300);
		frame.setVisible(true);
		frame.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar