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

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

Publicado por juanki (96 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

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

Publicado por Mario slax@openmailbox.org (27 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