Mostrar Mensajes

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


Mensajes - ESOJ

Páginas: 1 2 3 4 5 6 [7] 8
121
Buenos días.

Creo que el ejercicio está bien.

Un saludo.

122
Buenos días.

Creo que el ejercicio está bien.

Un saludo.

123
Buenos días.

El ejercicio en general es correcto y da el resultado que se pide aunque yo cambiaria algún detalle en la clase TestAdivinaNumero.

1º Quitaría la línea  System.out.println("El numero aleatorio es: " + numeroAAdivinar);
     ya que estas mostrando el número a adivinar antes de que haya que adivinarlo.Me imagino que la pondrías para hacer pruebas.

2º La variable tmpInteger la declaras como Integer.Yo la declararía como int y
cambiaría la línea tmpInteger = tmpInteger.valueOf(entradaMain.getEntrada()); por tmpInteger = Integer.valueOf(entradaMain.getEntrada()); funcionaría igual consumiendo menos recursos.

3º La línea System.out.println("\n Intenta de Nuevo(S/N): "); la metería dentro del while.Dejándola fuera,como la pusiste,si en la ejecución el usuario responde algo diferente de s o n el programa espera que se vuelva a responder pero no aparece la pregunta,con lo que puede llevar al usuario a pensar que el programa terminó.

4º Para no diferenciar entre mayúscula o minúscula utiliza equalsIgnoreCase.En vez de
if (entradaMain.getEntrada().equals("n") || (entradaMain.getEntrada().equals("N")))
puedes poner
 if (entradaMain.getEntrada().equalsIgnoreCase("n"))  ahorrando código.

Código: [Seleccionar]
/**
 * TestAdivinaNumero
 * Bettu
 * 28/09/2016
 */

import java.util.Random;
public class TestAdivinaNumero
{
    public static void main (String[] Args) {
        int tmpInteger = 0;
        EntradaDeTeclado entradaMain = new EntradaDeTeclado();

        char tecla = 'S';
        int numeroAAdivinar;

        Random numAleatorio = new Random();
        numeroAAdivinar = numAleatorio.nextInt(100);

        System.out.println("Se ha generado un número aleatorio entre 1 y 100, intente adivinarlo");
        // Agregue esta linea para probar el programa
        //       System.out.println("El numero aleatorio es: " + numeroAAdivinar);

        while (tecla == 'S') {
            System.out.print("Por favor introduzca su número: ");
            entradaMain.pedirEntrada();
            tmpInteger = Integer.valueOf(entradaMain.getEntrada());
            if (tmpInteger == numeroAAdivinar){
                System.out.println("Felicitaciones el número aleatorio es "+numeroAAdivinar);
                break; }
            else if (tmpInteger < numeroAAdivinar) {
                System.out.println("No has acertado: el número es mayor");}
            else {  System.out.println("No has acertado: el número es menor");}

            tecla=' ';
           
            while (tecla != 'n' && tecla != 'N' && tecla != 's' && tecla != 'S') {
                System.out.println("\n Intenta de Nuevo(S/N): ");
                entradaMain.pedirEntrada();
                if (entradaMain.getEntrada().equalsIgnoreCase("n"))
                {tecla = 'N';}
                else if (entradaMain.getEntrada().equalsIgnoreCase("s"))
                {tecla = 'S';}
            }
        }
        System.out.println("Gracias por Jugar!!");
    }
}

Un saludo


124
Perdón,no modifiqué el constructor.
Debería quedar así:

Código: [Seleccionar]
public Bombero(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;

Un saludo

125
Buenos días.

La razón de que siempre te den false como resultado es que vuelves a declarar ambas variables en el constructor al ponerles el identificador boolean delante.
Así,la variable casado del constructor no inicializa a la variable casado de los atributos por lo que ésta devuelve siempre false que es su valor por defecto.

El constructor debería quedar as´:
Código: [Seleccionar]
public Bombero(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        boolean casado = valorCasado;
        boolean especialista = valorEspecialista;

Tambien deberías declarar los atributos de la clase como private

Código: [Seleccionar]
public class Bombero{

//Atributos
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;

Un saludo

126
Buenos días.

El ejercicio es correcto.
Lo único que cambiaría yo es la declaración de los atributos de la clase.Los declararía como private.

Código: [Seleccionar]
public class Profesor{
//Atributos
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;

Un saludo

127
Hola lealivan009 .

Yo lo hice así:

Código: [Seleccionar]
public class Persona implements Comparable<Persona> {

    private String nombre;
    private int edad, altura,condicionDeComparacion;
   
    public Persona(String nombre, int edad, int altura,int condicionDeComparacion) {
        this.nombre = nombre;
        this.edad = edad;
        this.altura = altura;
        this.condicionDeComparacion=condicionDeComparacion;
    }
    public String getNombre(){return nombre;}
    public int getEdad(){return edad;}
    public int getAltura(){return altura;}
    @Override
    public int compareTo(Persona o) {       
        if ( condicionDeComparacion==1){
            if (altura < o.altura) {
                return 1;
            }
            if (altura > o.altura) {
                return -1;
            }
        }
        if ( condicionDeComparacion==2){
            if (edad < o.edad) {
                return 1;
            }
            if (edad > o.edad) {
                return -1;
            }
        }
        return 0;
    }
}

Código: [Seleccionar]
import java.util.Arrays;

public class MainClass {

    public static void main(String[] args) {
        MainClass p =new MainClass();
        for (int i=1;i<3;i++) {
            Persona[] arrayPersonas= new Persona[5];
            arrayPersonas[0] = new Persona("Mario", 22, 187,i);
            arrayPersonas[1] = new Persona("Pepe", 52, 173,i);
            arrayPersonas[2] = new Persona("Manuel", 27, 158,i);
            arrayPersonas[3] = new Persona("David", 25, 164,i);
            arrayPersonas[4] = new Persona("Alberto", 80, 184,i);   
            if (i==1){
                System.out.println("Array sin ordenar ");
                p.imprimeArrayPersonas(arrayPersonas);}

            Arrays.sort(arrayPersonas);
            if (i==1){
                System.out.println("Array ordenado por altura");
            }
            if (i==2){
                System.out.println("Array ordenado por edad");
            }
            p.imprimeArrayPersonas(arrayPersonas);
        }
    }

    public void imprimeArrayPersonas(Persona[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.println((i+1) + ". " + array[i].getNombre() + " - Altura: " + array[i].getAltura() + " - Edad: " + array[i].getEdad());
        }
    }
}

Espero que te sirva.
Un saludo.

128
Hola.

En líneas generales veo tu código correcto.

Lo que si cambiaría es el método Agregar de la clase EntradaTeclado.Tal y como lo has planteado es una mezcla de getter y setter ya que estableces el valor y lo devuelve.

Yo lo convertiría simplemente en un setter:

Código: [Seleccionar]
public void setAgregar() {
        entradaTeclado = sc.nextLine();     


Recuerda cambiar en la clase principal la linea:
entrada.Agregar();

por

entrada.setAgregar();

Un saludo

129
Aprender a programar desde cero / Re:ayuda en tabla en java
« en: 21 de Mayo 2016, 07:18 »
Hola otra vez.

Para incluir tu código,modificaríamos la clase Programa1 por:

Código: [Seleccionar]
import java.util.Iterator;

public class Programa1 {
    public static void main(String arg[]) {
        int[] sueldos=new int[26];
        int k=1;
        for(int i=5;i<=25;i+=5){
            for(int j=11;j<=15;j++){
                int sueldo=i*j*19;
                sueldos[k]=sueldo;k++;
            }
        }
        Numeros p1 = new Numeros(sueldos[1],sueldos[6],sueldos[11],sueldos[16],sueldos[21]);
        Numeros p2 = new Numeros(sueldos[2],sueldos[7],sueldos[12],sueldos[17],sueldos[22]);
        Numeros p3 = new Numeros(sueldos[3],sueldos[8],sueldos[13],sueldos[18],sueldos[23]);
        Numeros p4 = new Numeros(sueldos[4],sueldos[9],sueldos[14],sueldos[19],sueldos[24]);
        Numeros p5 = new Numeros(sueldos[5],sueldos[10],sueldos[15],sueldos[20],sueldos[25]);
        Numeros[] pp = {p1,p2,p3,p4,p5};
        ConjuntoNumeros cp = new ConjuntoNumeros(pp);
        Iterator<Numeros> it1 = cp.iterator();
        System.out.println("          5"+"      10"+"      15"+"      20"+"      25"+"\n");

        while (it1.hasNext()){for (int i=11;i<16;i++){
                Numeros tmp = it1.next();

                System.out.println(i+"      "+tmp.num1+"    "+tmp.num2+"    "+tmp.num3+"    "+tmp.num4+"    "+tmp.num5);
            }
        }
    }
}

130
Aprender a programar desde cero / Re:ayuda en tabla en java
« en: 21 de Mayo 2016, 06:45 »
Hola.
Una posible solución sería usar la interfaz iterable y el método Iterator.Puedes ver más información sobre esto en la entrega CU00915C de Curso Lenguaje de programación Java nivel avanzado I en ésta misma página.

Una forma de llegar al resultado que planteabas sería:

Código: [Seleccionar]
import java.util.Iterator;

public class Programa1 {
    public static void main(String arg[]) {
       
        Numeros p1 = new Numeros(1045,2090,3135,4180,5225);
        Numeros p2 = new Numeros(1140,2280,3420,4560,5700);
        Numeros p3 = new Numeros(1235,2470,3705,4940,6175);
        Numeros p4 = new Numeros(1330,2660,3990,5320,6650);
        Numeros p5 = new Numeros(1425,2850,4275,5700,7125);
        Numeros[] pp = {p1,p2,p3,p4,p5};
        ConjuntoNumeros cp = new ConjuntoNumeros(pp);
        Iterator<Numeros> it1 = cp.iterator();
        System.out.println("          5"+"      10"+"      15"+"      20"+"      25"+"\n");
       
        while (it1.hasNext()){for (int i=11;i<16;i++){
            Numeros tmp = it1.next();
           
            System.out.println(i+"      "+tmp.num1+"    "+tmp.num2+"    "+tmp.num3+"    "+tmp.num4+"    "+tmp.num5);
        }
        }
    }
}
Código: [Seleccionar]
import java.util.Iterator;

public class ConjuntoNumeros implements Iterable<Numeros>{
    public Numeros[] conjuntoNumeros; // Atributo de la clase
    public ConjuntoNumeros (Numeros [] p) { // Constructor de la clase
        conjuntoNumeros = p; 
    }

    public Iterator<Numeros> iterator() {    Iterator it = new MiIteratorNumeros(conjuntoNumeros);
        return it;         }
}
Código: [Seleccionar]
public class Numeros{       
    public int num1,num2,num3,num4,num5;
   
    public Numeros ( int num1,int num2, int num3,int num4,int num5) {
        this.num1 = num1;  this.num2 =num2;
        this.num3 = num3;  this.num4 =num4;
        this.num5 = num5; 
    }
}
Código: [Seleccionar]
import java.util.Iterator;
public class MiIteratorNumeros implements Iterator<Numeros>   {
        public int posicionarray;
        Numeros[] conjuntoNumeros;
        public MiIteratorNumeros(Numeros[] conjuntoNumeros)   {
            this.conjuntoNumeros=conjuntoNumeros;
            posicionarray = 0; }

        public boolean hasNext() {
            boolean result;
            if (posicionarray < conjuntoNumeros.length) { result = true; }
            else { result = false; }
            return result;
        }

        public Numeros next() {
            posicionarray++;
            return conjuntoNumeros[posicionarray-1];
        }

        public void remove(){
            throw new UnsupportedOperationException("No soportado.");
        }
    }

Espero te sea de utilidad.
Un saludo

131
Hola Ariel. He revisado tu código y,en líneas generales es correcto.Has utilizado bien la clase BigDecimal que en el fondo es de lo que se trataba el ejercicio.

Otra forma de hacerlo sería utilizando diferentes clases para la entrada de teclado y para los cálculos,en vez de hacerlo en el main.

Una posible solución que se me ocurre seria:

Código: [Seleccionar]
import java.math.BigDecimal;
import java.math.RoundingMode;

public class CalculadoraImpuesto{ 

    public BigDecimal calculoImpuesto(BigDecimal importe,BigDecimal porcentaje_impuesto){
        BigDecimal calculoImpuesto =importe.multiply (porcentaje_impuesto).divide(BigDecimal.valueOf(100.0));
        calculoImpuesto = calculoImpuesto.setScale(2,RoundingMode.HALF_UP);
        return calculoImpuesto;
    }
}


Código: [Seleccionar]
import java.util.Scanner;
import java.math.BigDecimal;

public class EntradaTeclado {   
   
   public BigDecimal entradaTeclado(){
       Scanner scan = new Scanner(System.in);
        BigDecimal resultado = BigDecimal.valueOf(Double.valueOf(scan.nextLine()));
        return resultado;
    }
}


Código: [Seleccionar]
import java.math.BigDecimal;
import java.math.RoundingMode;

public class TestImpuesto{   
    public static void main(String[]args){
        BigDecimal impuesto,importe,porcentaje_impuesto;
        CalculadoraImpuesto d=new CalculadoraImpuesto();
        EntradaTeclado f=new EntradaTeclado();
        System.out.print("Por favor introduzca el importe inicial: ");
        importe=f.entradaTeclado();
        System.out.print("por favor introduzca el porcentaje de impuestos: ");
        porcentaje_impuesto = f.entradaTeclado();
        impuesto=d.calculoImpuesto(importe,porcentaje_impuesto);
        System.out.println("El impuesto a pagar es: "+impuesto+"\nEl importe final es: "+importe.add(impuesto));
    }
}

Un saludo

132
Hola Ariel.

En general el código está bien y da el resultado que se pedía.
Lo único que en el enunciado se pedía que paises y ciudades se almacenaran en un mismo array cuyo primer índice sea el número asignado a cada país y el segundo índice el número asignado a cada ciudad.
Una posible solución teniendo ésto en cuenta sería:
Código: [Seleccionar]
import java.util.Scanner;
public class Paises {

    public static void main(String args []) {
        String [][] arrMulti =new String[4][4];
        String ax="";
        Scanner ingresoTeclado = new Scanner(System.in);

        for (int i=0;i<4;i++){
            System.out.print("Introduce el nombre del pais "+(i+1)+" : ");
            arrMulti[i][0] = ingresoTeclado.nextLine()+":";         
        }
        for (int j=0;j<4;j++){
            for (int i=1;i<4;i++){
                System.out.print("Introduce el nombre de la ciudad "+(i)+" del pais "+(j+1)+" : ");
                arrMulti[j][i] = ingresoTeclado.nextLine();             
            }
        }
        for(int i=0; i<4; i++){
            for(int j=0; j<4; j++){
                ax+= arrMulti[i][j]+"        ";
            }
            ax+="\n";
        }
        System.out.print(ax);
    }
}   
Un saludo

133
Aún no terminé todos,pero si me dices un correo te puedo enviar los que llevo.
Aquí no hay espacio para subirlo

134
Hola.
El código lo veo  bien tal y como lo has hecho.
En cuanto a libros yo te recomendaría "La bibilia de Java 2" de Steven Holzner.Puedes descargar el PDF por internet.
Tambien te recomendaría La guia práctica de Java 8 de Roberto Montero Miguel.
Eso si,antes de empezar con los libros termina el curso de aprender a programar para tener una buena base para poder entender bien los libros.
Un saludo.

135
Una posible forma de hacerlo podria ser esta.
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;

public class ContenedorPrincipal  extends JFrame
{
    public ContenedorPrincipal(String titulo)
    {
        super(titulo);
        setVisible(true);
        setResizable(false);
        setLocation(150,20);
        setSize(450,450); 
    }

}
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Portada extends ContenedorPrincipal implements ActionListener
{
    int a,sum=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7=0,sum8,sum9;
    JPanel ctn;
    JPanel panel1;
    JButton [] boton=new JButton [31];;

    public Portada(){
        super("");
        setLayout(new BorderLayout(0,0));   
        panel1=new JPanel(new GridLayout(6,5));

        for (int i = 0; i <30; i++) {               
            boton[i] = new JButton("");
            panel1.add(boton[i]);

            boton[i].addActionListener(this);
            this.add(panel1); }
        boton[0].setText("generar");
        boton[1].setText("todo");
        boton[2].setText("diagonal");
        boton[3].setText("bordes");
        boton[4].setText("terminar");             
        add(panel1,BorderLayout.CENTER);           
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == boton[0]) {
            sum=0;
            for (int i = 0; i <= 4; i++) {
                for (int j = 0; j <= 4; j++) {
                    a=1;
                    sum=sum+a;
                    if (i==j) {
                        sum2=sum2+a;
                    }
                    if (i+j==4) {
                        sum3=sum3+a;
                    }
                    if (i==4){
                        sum4=sum4+a;
                    }
                    if (i==3){
                        sum5=sum5+a;
                    }
                    if (j==3){
                        sum6=sum6+a;
                        sum7=1;
                    }

                }

            }

        }
        if (e.getSource()== boton[1]) {
            JOptionPane.showMessageDialog(null,"la suma es :"+sum);   
        }
        if (e.getSource()== boton[2]) {
            sum8=sum2+sum3;
            JOptionPane.showMessageDialog(null,"la suma en diagonal es  :"+sum8);
        }
        if (e.getSource () == boton[3]){
            sum9=sum4+sum5+sum6+sum7;
            JOptionPane.showMessageDialog(null,"La Suma de los bordes es:"+sum9);
        }
        if (e.getSource () == boton[4]){
            setVisible(false);new Portada ();
        }
    }
    public static void main(String arg[]){

       new Portada();

}
}

136
Aprender a programar desde cero / Re:Programa de planilla
« en: 14 de Abril 2016, 18:12 »
Hola,
Aqui te dejo un ejemplo de como podrias resolver el tema del menu  y submenus.
En cuanto a la clase empleado,habria que saber que datos van a tener los empleados.
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;

public class ContenedorPrincipal  extends JFrame
{
    public ContenedorPrincipal(String titulo)
    {
        super(titulo);
        setVisible(true);
        setResizable(false);
        setLocation(400,200);
        setSize(300,300); 
    }

}
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Portada extends ContenedorPrincipal implements ActionListener
{
    JPanel panelCentro,panelConsulta;

    public Portada(){
        super("MENUPRINCIPAL                                                                          ");
        setLayout(new GridLayout(1,1));   
        panelCentro();

    }

    public  void panelCentro()
    {
        panelCentro = new JPanel(new GridLayout(5,1));
        JButton consulta = new JButton("Consulta");   
        JButton modificar = new JButton("Modificar");
        JButton agregar = new JButton("Agregar");
        JButton remover = new JButton("Remover");
        JButton salir = new JButton("Salir");
        panelCentro.add(consulta);
        consulta.addActionListener(this);
        panelCentro.add(modificar);
        modificar.addActionListener(this);
        panelCentro.add(agregar);
        agregar.addActionListener(this);
        panelCentro.add(remover);
        remover.addActionListener(this);
        panelCentro.add(salir);
        salir.addActionListener(this);
        add(panelCentro);
    }

    public  void panelConsulta()
    {
        panelConsulta = new JPanel(new GridLayout(2,1));
        JButton ingresarID = new JButton("Ingresar ID");
        JButton cancelar = new JButton("Cancelar");
        panelConsulta.add(ingresarID);
        ingresarID.addActionListener(this);
        panelConsulta.add(cancelar); 
        cancelar.addActionListener(this);
        add(panelConsulta);
    }

    public void actionPerformed(ActionEvent e)
    {
        // Eventos botones panelCentro
       
        if (e.getActionCommand().equals("Salir"))
        {
            System.exit(0);
        }     
        if (e.getActionCommand().equals("Consulta"))
        {
            panelCentro.setVisible(false);remove(panelCentro); 
            panelConsulta();
        }
        if (e.getActionCommand().equals("Modificar"))
        {
          //Aqui va el evento que se produciria al pulsar "Modificar"
        }
        if (e.getActionCommand().equals("Agregar"))
        {
             //Aqui va el evento que se produciria al pulsar "Agregar"
        }
        if (e.getActionCommand().equals("Remover"))
        {
             //Aqui va el evento que se produciria al pulsar "Remover"
        }
        // Eventos botones panelConsulta
        if(e.getActionCommand().equals("Cancelar"))
        {
            panelConsulta.setVisible(false);remove(panelConsulta);panelCentro();
        }
        if(e.getActionCommand().equals("Ingresar ID"))
        {
            //Aqui va el evento que se produciria al pulsar "Ingresar ID"
        }
    }
}

Un Saludo

137
continuacion del  programa anterior


     
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class CreadorPanelOeste1
{
    JPanel panelOeste;   
    JButton[] botones= new JButton[35];
    JButton[] ejercicio= new JButton[6];
    JPanel[] paneles=new JPanel[18];
    JButton[] introduccion = new JButton[11];
    JButton[] resultados = new JButton[11];
    JButton[] twoMinutesDrill = new JButton[11];
    JButton[] autoTest = new JButton[11];

    public CreadorPanelOeste1(int numeroDeCapitulos,int tipoBoton)
    {
        panelOeste= new JPanel(new GridLayout(numeroDeCapitulos,1));
        panelOeste.setVisible(true);
        panelOeste.setBackground(Color.yellow);

        if (tipoBoton==1){botones=new JButton[numeroDeCapitulos+1];
            for (int i=1;i<numeroDeCapitulos+1;i++)
            {
                botones[i] = new JButton("Pagina"+i);
                panelOeste.add(botones[i]);
            }
        }
        if (tipoBoton !=1){
            for (int i=0;i<18;i++){paneles[i] =new JPanel();
                paneles[i].setBackground(Color.yellow); }
            for (int i=1;i<35;i++){botones[i] = new JButton("Tema"+i);}
            for (int i=1;i<11;i++){
                introduccion[i] = new JButton("Introduccion"+i);
                resultados[i] = new JButton("Resultados"+i);
                twoMinutesDrill[i] =new JButton("TwoMinutes"+i);
                autoTest[i] =new JButton("Test"+i);
            }       
            if (tipoBoton==2){
                for (int i=1;i<4;i++){ejercicio[i] = new JButton("Ejercicio1_"+i);}
                panelOeste.add(introduccion[1]);
                panelOeste.add(botones[1]);
                for (int i=0;i<2;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[1]);
                panelOeste.add(botones[2]);
                for (int i=2;i<7;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[2]);
                panelOeste.add(botones[3]);
                for (int i=7;i<10;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[4]);
                for (int i=10;i<12;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[3]);
                panelOeste.add(twoMinutesDrill[1]);
                panelOeste.add(autoTest[1]);
                panelOeste.add(resultados[1]);
            }               
            if (tipoBoton==3){           
                for (int i=1;i<5;i++){ejercicio[i] = new JButton("Ejercicio2_"+i);}           
                panelOeste.add(introduccion[2]);
                panelOeste.add(botones[5]);
                panelOeste.add(paneles[0]);
                panelOeste.add(botones[6]);
                for (int i=1;i<5;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[1]);
                panelOeste.add(botones[7]);
                for (int i=5;i<7;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[2]);
                panelOeste.add(paneles[7]);
                panelOeste.add(paneles[8]);
                panelOeste.add(ejercicio[3]);
                panelOeste.add(ejercicio[4]);
                panelOeste.add(botones[8]);
                for (int i=9;i<13;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(twoMinutesDrill[2]);
                panelOeste.add(autoTest[2]);
                panelOeste.add(resultados[2]);
            }
            if (tipoBoton==4){                       
                for (int i=1;i<5;i++){ejercicio[i] = new JButton("Ejercicio3_"+i);}
                panelOeste.add(introduccion[3]);           
                panelOeste.add(botones[9]);           
                panelOeste.add(paneles[0]);
                panelOeste.add(ejercicio[1]);
                for (int i=1;i<4;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[10]);
                for (int i=4;i<6;i++){panelOeste.add(paneles[i]);}           
                panelOeste.add(botones[11]);
                for (int i=6;i<8;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[2]);
                panelOeste.add(paneles[8]);           
                panelOeste.add(botones[12]);
                panelOeste.add(paneles[9]);
                panelOeste.add(ejercicio[3]);
                panelOeste.add(botones[13]);
                panelOeste.add(ejercicio[4]);           
                panelOeste.add(twoMinutesDrill[3]);
                panelOeste.add(autoTest[3]);
                panelOeste.add(resultados[3]);
            }
            if (tipoBoton==5){           
                for (int i=1;i<3;i++){ejercicio[i] = new JButton("Ejercicio4_"+i);}
                panelOeste.add(introduccion[4]);           
                panelOeste.add(botones[14]);
                for (int i=1;i<3;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[1]);
                for (int i=3;i<7;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[15]);
                for (int i=7;i<9;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[2]);
                panelOeste.add(twoMinutesDrill[4]);
                panelOeste.add(autoTest[4]);
                panelOeste.add(resultados[4]);
            }
            if (tipoBoton==6){           
                panelOeste.add(introduccion[5]);           
                panelOeste.add(botones[16]);
                for (int i=1;i<4;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[17]);
                for (int i=4;i<6;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[18]);
                for (int i=6;i<10;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[19]);
                for (int i=10;i<13;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[20]);
                for (int i=13;i<15;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[21]);
                for (int i=15;i<18;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(twoMinutesDrill[5]);
                panelOeste.add(autoTest[5]);
                panelOeste.add(resultados[5]);
            }
            if (tipoBoton==7){
                ejercicio[1] = new JButton("Ejercicio6_1");
                panelOeste.add(introduccion[6]);           
                panelOeste.add(botones[22]);
                for (int i=1;i<3;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[23]);
                for (int i=3;i<5;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[1]);
                panelOeste.add(twoMinutesDrill[6]);
                panelOeste.add(autoTest[6]);
                panelOeste.add(resultados[6]);         
            }
            if (tipoBoton==8){
                ejercicio[1] = new JButton("Ejercicio7_1");
                panelOeste.add(introduccion[7]);           
                panelOeste.add(botones[24]);
                for (int i=1;i<6;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[25]);
                for (int i=6;i<9;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(botones[26]);
                for (int i=9;i<12;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[1]);
                panelOeste.add(paneles[12]);
                panelOeste.add(twoMinutesDrill[7]);
                panelOeste.add(autoTest[7]);
                panelOeste.add(resultados[7]);         
            }
            if (tipoBoton==9){
                ejercicio[1] = new JButton("Ejercicio8_1");
                panelOeste.add(introduccion[8]);           
                panelOeste.add(botones[27]);
                for (int i=1;i<3;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[1]);
                panelOeste.add(botones[28]);
                panelOeste.add(paneles[3]);
                panelOeste.add(twoMinutesDrill[8]);
                panelOeste.add(autoTest[8]);
                panelOeste.add(resultados[8]);     
            }
            if (tipoBoton==10){
                for (int i=1;i<6;i++){ejercicio[i] = new JButton("Ejercicio9._"+i);}
                panelOeste.add(introduccion[9]);           
                panelOeste.add(botones[29]);
                for (int i=1;i<5;i++){panelOeste.add(paneles[i]);}               
                panelOeste.add(ejercicio[1]);
                panelOeste.add(ejercicio[2]);
                panelOeste.add(botones[30]);
                for (int i=5;i<8;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[3]);
                panelOeste.add(botones[31]);
                for (int i=8;i<13;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[4]);
                panelOeste.add(botones[32]);
                for (int i=13;i<16;i++){panelOeste.add(paneles[i]);}
                panelOeste.add(ejercicio[5]);             
                panelOeste.add(twoMinutesDrill[9]);
                panelOeste.add(autoTest[9]);
                panelOeste.add(resultados[9]); 
            }
            if (tipoBoton==11){               
                panelOeste.add(introduccion[9]);           
                panelOeste.add(botones[33]);
                for (int i=1;i<5;i++){panelOeste.add(paneles[i]);}         
                panelOeste.add(botones[34]);
                for (int i=5;i<8;i++){panelOeste.add(paneles[i]);}                     
                panelOeste.add(twoMinutesDrill[9]);
                panelOeste.add(autoTest[9]);
                panelOeste.add(resultados[9]); 
            }
        }
    }

    public JPanel getPanelOeste(){return panelOeste;}

}
Código: [Seleccionar]
public class IndiceContenidoDeUnVistazo
{
    String[] capitulosContenidoDeUnVistazo={"1 Empaquetacion , Compilación , e Interpretación del código de Java",
            "2 Programación con declaraciones Java",
            "3 Programación con operadores y Strings de Java",
            "4 Trabajar con clases básicas y variables ",
            "5 Comprendiendo Métodos y ámbito de variables",
            "6 Programación con Arrays",
            "7 Comprensión herencia de clases ",
            "8 Comprensión Polimorfismo y Casts",
            "9 Manejo de excepciones",
            "10 Trabajar con clases y sus relaciones",
            "A Plataformas Java",
            "B Java SE 7 Paquetes",
            "C Java Palabras clave",
            "D Fijación de Convenios ",
            "E Unicode estándar ",
            "F Pseudo-código.Los algoritmos ",
            "G Lenguaje de Modelado Unificado",
            "H Examen de Práctica",
            "I Acerca de la Descarga",
            "Glosario",
            "Index"};     

    public IndiceContenidoDeUnVistazo()
    {
        new GeneradorIndice(capitulosContenidoDeUnVistazo,21,"Atras",1,"                     CONTENIDO DE UN VISTAZO",1,0);}
       
   
}
                                                 

138
Hola.
Aqui dejo un ejemplo de uso de eventos y componentes.
Los textos a los que hace referencia el programa no los incluyo porcuestion de espacio.Si alguien esta interesado en ellos que deje aqui su correo y  se los  envio
Un saludo.                                                                                                                                                                                                                                                                         


Código: [Seleccionar]
public class Inicio
{
   
    public Inicio()
    {
       new Portada();
    }

   
}
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.IOException;

public class Portada extends ContenedorPrincipal implements ActionListener
{

    public Portada(){
        super("");
        setLayout(new BorderLayout(0,0));   

        CreadorPanelSur panelSur1 = new CreadorPanelSur("Salir");
        JPanel panelSur=panelSur1.getPanelSur();
        panelSur1.componenteSur1.addActionListener(this);
        add(panelSur,BorderLayout.SOUTH);

        String[] capitulos={"Prefacio","Introduccion","CONTENIDO DE UN VISTAZO"};
        JPanel panelCentro = new JPanel(new GridLayout(3,1));
        JButton[] botones1;
        botones1 = new JButton[3];
        for (int i=0;i <3;i++)
        {botones1[i] = new JButton(capitulos[i]);
            botones1[i].addActionListener(this);
            panelCentro.add(botones1[i]);
        }
        add(panelCentro,BorderLayout.CENTER);     
    }

    public void Archivo  (String archivo){
        try {
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + archivo);
        } catch (IOException a){
            a.printStackTrace();
        }
    }

    public void actionPerformed(ActionEvent e)
    { String ruta="C:/Users/Pc/Desktop/JAVA/PROGRAMAS/MANUALES DE JAVA/TEXTOS/CertificadoJava7/";
        if (e.getActionCommand().equals("Salir")){System.exit(0); }     
        if (e.getActionCommand().equals("Prefacio")){Archivo(ruta+"Prefacio.rtf");}
        if (e.getActionCommand().equals("Introduccion")){Archivo(ruta+"Intro.rtf");}
        if (e.getActionCommand().equals("CONTENIDO DE UN VISTAZO")){
            setVisible(false);new IndiceContenidoDeUnVistazo();}

    }
}
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;

public class CreadorPanelSur     
{
    JPanel panelSur = new JPanel(new GridLayout(1,10,4,0));   
    JButton componenteSur1;
    public CreadorPanelSur(String botonAtras)
    {
        panelSur.setVisible(true);
        panelSur.setBackground(Color.cyan);
        panelSur.setBorder(BorderFactory.createLineBorder(Color.cyan));
        componenteSur1 = new JButton(botonAtras);         
         
         
        panelSur.add(componenteSur1);
       
    }

    public JPanel getPanelSur(){return panelSur;}   
}
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;

public class ContenedorPrincipal  extends JFrame
{
    public ContenedorPrincipal(String titulo)
    {
        super(titulo);
        setVisible(true);
        setResizable(false);
        setLocation(150,20);
        setSize(770,700); 
    }

}
Código: [Seleccionar]
public class IndiceTemas
{
    String[] capitulosTema1={
            "  Introduccion",
            "  Comprender Paquetes",
            "          Diseño de un Paquete ",
            "          Sentencias package e import ",
            "          Ejercicio 1-1 : Sustitución de sentencias import implícitos con sentencias import explícitas",
            "  Comprender clases derivadas de paquetes",
            "          Java Utilities API",
            "          Java Basic Input/Output API",
            "          The Java Networking API",
            "          Java Abstract Window Toolkit API",
            "          Java Swing API",
            "          Ejercicio I -2: Comprendiendo Extended Functionality de Java Utilities API",
            "  Comprender la estrutura de una Clase",
            "          Convenciones de nomenclatura",
            "          Separadores y otros símbolos fuente de Java",
            "          Java Class Structure",
            "  Compilar e interpretar Codigo Java",
            "          Java Compiler",
            "          Java Interpreter",
            "          Exercise 1-3: Compilando e interpretando Software empaquetado",
            "          Two-Minute Drill",
            "          Auto Test",
            "          Respuestas Auto Test"};
    String[] capitulosTema2={
            "  Introduccion",
            "  Comprender las sentencias de asignacion",
            "La Instruccion de asignación de expresión",
            "Crear y utilizar instrucciones condicionales",
            "La instrucción condicional if",
            "La instrucción condicional if-them",
            "La instrucción condicional if-then-else ",
            "La instrucción condicional switch",
            "Exercise 2-1: Evaluating the String Class in the switch Statement",
            "  Crear y utilizar  iteraciones",
            "La iteración de bucle for ",
            "La iteración de bucle for each",
            "Exercise 2-2: Iterating Through an ArrayList While Applying Conditions",
            "La iteración while",
            "La iteración do-while",
            "Exercise 2-3: Performing Code Refactoring",
            "Exercise 2-4: Knowing Your Statement-Related Keywords",
            "  Crear y utilizar transferencias de control",
            "La transferencia de Control break",
            "La transferencia de Control continue",
            "La transferencia de control return",
            "  La sentencia labeled",
            "Two-Minute Drill",
            "Auto Test",
            "Respuestas Auto Test"};
    String[] capitulosTema3={
            "  Introduccion",
            "  Entender los operadores fundamentales",
            "Operadores de asignacion",
            "Exercise 3-1: Using Compound Assignment Operators",
            "Operadores aritmeticos",
            "Operadores de relacion",
            "Operadores Logicos",
            "  Comprender Prioridad de Operadores",
            "Prioridad de Operadores",
            "Cambiar Prioridad de Operadores",
            "  Use String Objects and Their Methods",
            "Strings",
            "The String Concatenation Operator",
            "Exercise 3-2: Uncovering Bugs that Your Compiler May Not Find",
            "Methods of the String Class",
            "  Use StringBuilder Objects and Their Methods",
            "Methods of the StringBuilder Class",
            "Exercise 3-3: Using Constructors of the StringBuilder Class",
            "  Test Equality Between Strings and other Objects equals Method of the String Class",
            "Exercise 3-4: Working with the compare To Method of the String Class",
            "Two-Minute Drill",
            "Auto Test",
            "Respuestas Auto Test"};
            String[] capitulosTema4={
                "Introduccion",
"Understand Primitives, Enumerations, and Objects",
"Primitive Variables",
"Objects",
"Exercise 4-1: Compile and Run an Object",
"Arrays",
"Enumerations",
"Java Is Strongly Typed",
"Naming Conventions",
"Use Primitives, Enumerations, and Objects",
"Literals",
"Examples of Primitives, Enumerations, and Objects",
"Exercise 4-2: Creating Getters and Setters.",
"Two-Minute Drill",
"Self Test",
"Self Test Answers"};
String[] capitulosTema5={
"Introduccion",
"Create and Use Methods",
"Using Method Syntax",
"Making and Calling a Method",
"Overloading a Method",
"Pass Objects by Reference and Value",
"Passing Primitives by Value to Methods",
"Passing Objects by Reference to Methods",
"Understand Variable Scope",
"Local Variables",
"Method Parameters",
"Instance Variables",
"An Object’s Lifecycle",
"Create and Use Constructors",
"Making a Constructor",
"Overloading a Constructor",
"Using the Default Constructor",
"Use this and super Keywords",
"The this Keyword",
"The super Keyword",
"Create Static Methods and Instance Variables",
"Static Methods",
"Static Variables",
"Constants",
"Two-Minute Drill",
"Auto Test",
"Respuestas Auto Test"};
String[] capitulosTema6={
"     Introduccion",   
"     Work with Java Arrays",
"        One-Dimensional Arrays",
"        Multi-Dimensional Arrays",
"     Work with ArrayList Objects and Their Methods",
"        Using the ArrayList Class",
"        ArrayList vs. Standard Arrays",
"        Exercise 6-1: Implement an ArrayList and Standard Array",
"     Two-Minute Drill",
"     Self Test",
"     Self Test Answers"};
String[] capitulosTema7={
"     Introduccion",
"     Implement and Use Inheritance and Class Types",
"Inheritance",
"Overriding Methods",
"Abstract Classes",
"Interfaces",
"Advanced Concepts of Inheritance",
"Understand Encapsulation Principles",
"Good Design with Encapsulation",
"Access Modifiers",
"Setters and Getters",
"Advanced Use of Classes with Inheritance and Encapsulation",
"Java Access Modifiers Example",
"Inheritance with Concrete Classes Examples",
"Inheritance with Abstract Classes Examples",
"Exercise 7-1: Add Functionality to the Plant Simulator",
"Interface Example",
"Two-Minute Drill",
"Self Test",
"Self Test Answers "}; 
String[] capitulosTema8={
"     Introduccion",
"Understand Polymorphism",
"Concepts of Polymorphism",
"Practical Examples of Polymorphism",
"Exercise 8-1: Add Functionality to the Describable Example",
"Understand Casting",
"When Casting Is Needed",
"Two-Minute Drill",
"Self Test",
"Self Test Answers"};
String[] capitulosTema9={
"     Introduccion",
"Understand the Rationale and Types of Exceptions",
"Exception Hierarchy in Java",
"Checked Exceptions",
"Unchecked Exceptions",
"(Unchecked) Errors",
"Exercise 9-1: Determining When to Use Assertions in Place of Exceptions",
"Exercise 9-2: Analyzing the Source Code of Java Exceptions",
"Understand the Nature of Exceptions",
"Defining Exceptions",
"Throwing Exceptions",
"Propagating Exceptions",
"Exercise 9-3: Creating a Custom Exception Class",
"Alter the Program Flow",
"The try-catch Statement",
"The try-finally Statement",
"The try-catch-finally Statement",
"The try-with-resources Statement",
"The multi-catch Clause",
"Exercise 9-4: Using NetBeans Code Templates for Exception Handling Elements",
"Recognize Common Exceptions",
"Common Checked Exceptions",
"Common Unchecked Exceptions",
"Common Errors",
"Exercise 9-5: Creating an Error Condition",
"Two-Minute Drill",
"Self Test",
"Self Test Answers"};
String[] capitulosTema10={
"     Introduccion",
"Understand Class Compositions and Associations",
"Class Compositions and Associations",
"Class Relationships",
"Multiplicities",
"Association Navigation",
"Class Compositions and Associations in Practice",
"Examples of Class Association Relationships",
"Examples of Class Composition Relationships",
"Examples of Association Navigation",
"Two-Minute Drill",
"Self Test",
"Self Test Answers"};
    public IndiceTemas(int x)
    {
        if (x==2){new GeneradorIndice(capitulosTema1,23,"Atras",2,"                     Empaquetacion,Compilación,e Interpretación del código de Java",2,3);}
        if (x==3){new GeneradorIndice(capitulosTema2,25,"Atras",2,"                     Programming with Java Statements",3,4);}
        if (x==4){new GeneradorIndice(capitulosTema3,23,"Atras",2,"                     Programación con operadores de Java y Strings",4,4);}
    if (x==5){new GeneradorIndice(capitulosTema4,16,"Atras",2,"                     Working with Basic Classes and Variables",5,2);}
    if (x==6){new GeneradorIndice(capitulosTema5,27,"Atras",2,"                     Understanding Methods and Variable Scope",6,0);}
 if (x==7){new GeneradorIndice(capitulosTema6,11,"Atras",2,"                     Programming with Arrays",7,1);}
 if (x==8){new GeneradorIndice(capitulosTema7,20,"Atras",2,"                     Understanding Class Inheritance",8,1);}
 if (x==9){new GeneradorIndice(capitulosTema8,10,"Atras",2,"                     Understanding Polymorphism and Casts",9,1);}
 if (x==10){new GeneradorIndice(capitulosTema9,28,"Atras",2,"                     Handling Exceptions",10,5);}
if (x==11){new GeneradorIndice(capitulosTema10,13,"Atras",2,"                     Working with Classes and Their Relationships",11,0);}
}
}
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.IOException;

public class GeneradorIndice extends ContenedorPrincipal  implements ActionListener
{   int tipoBoton=0;
    int paginaIndice=0;
    String ruta="C:/Users/Pc/Desktop/JAVA/PROGRAMAS/MANUALES DE JAVA/TEXTOS/CertificadoJava7/";
    String[] pagina={"Pagina1","Pagina2","Pagina3","Pagina4","Pagina5",
            "Pagina6","Pagina7","Pagina8","Pagina9","Pagina10","Pagina11","Pagina12","Pagina13"};
    public GeneradorIndice(String[] capitulos,int numeroDeCapitulos,String botonAtras,int paginaIndice,String tituloIndice,int tipoBoton,int numeroDeEjercicios )
    { super("OCA Java SE 7 Programmer I Guia de estudio"+tituloIndice);
        this.paginaIndice=paginaIndice;
        this.tipoBoton=tipoBoton;
        setLayout(new BorderLayout(0,0));

        CreadorPanelCentroIndice panelCentro1 = new CreadorPanelCentroIndice(capitulos,numeroDeCapitulos);
        JPanel panelCentro=panelCentro1.getPanelCentro();
        add(panelCentro,BorderLayout.CENTER);     

        CreadorPanelSur panelSur1 = new CreadorPanelSur(botonAtras);
        JPanel panelSur=panelSur1.getPanelSur();
        panelSur1.componenteSur1.addActionListener(this);
        add(panelSur,BorderLayout.SOUTH);

        CreadorPanelOeste1 panelOeste1 = new CreadorPanelOeste1(numeroDeCapitulos,tipoBoton);
        JPanel panelOeste=panelOeste1.getPanelOeste();

        int z=1;
        if(tipoBoton ==1) {z=0;}; 
        if (z==0){for ( int i=1;i<22;i ++){   panelOeste1.botones[i].addActionListener(this);}}

        if (z !=0){           
            for  ( int i=1;i<numeroDeEjercicios+1;i ++) {panelOeste1.ejercicio[i].addActionListener(this);}
            for ( int i=1;i<35;i ++){panelOeste1.botones[i].addActionListener(this);}
            for ( int i=1;i<11;i ++){
                panelOeste1.introduccion[i].addActionListener(this);
                panelOeste1.twoMinutesDrill[i].addActionListener(this);
                panelOeste1.autoTest[i].addActionListener(this);
                panelOeste1.resultados[i].addActionListener(this);
            }
        }
        add(panelOeste,BorderLayout.WEST);
    }

    public void Archivo  (String archivo){
        try {
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + archivo);
        } catch (IOException a){
            a.printStackTrace();
        }
    }

    public void actionPerformed(ActionEvent e)
    {   
        if (e.getActionCommand().equals("Atras")){setVisible(false);           
            if (tipoBoton==1)  {new Portada();}
            if (tipoBoton !=1) {new IndiceContenidoDeUnVistazo();}
        }     
        for(int i=1;i<11;i++){
            if (e.getActionCommand().equals("Pagina"+i)){setVisible(false);new IndiceTemas(i+1);}

            if (e.getActionCommand().equals("Intro")){Archivo(ruta+"Introduccion.rtf");}
            if (e.getActionCommand().equals("Introduccion"+i)){Archivo(ruta+"Introduccion"+(i)+".rtf");}
            if (e.getActionCommand().equals("TwoMinutes"+i)){Archivo(ruta+"Twominutes"+i+".rtf");}
            if (e.getActionCommand().equals("Test"+i)){Archivo(ruta+"Test"+i+".rtf");}
            if (e.getActionCommand().equals("Resultados"+i)){Archivo(ruta+"Resultados"+i+".rtf");}
        }

        for (int i=1;i<35;i++){
            if (e.getActionCommand().equals("Tema"+i)){Archivo(ruta+"Pagina"+i+".rtf");}
            for (int j=1;j<11;j++){
                if (e.getActionCommand().equals("Ejercicio"+j+"_"+i)){Archivo(ruta+"Ejercicio"+j+"_"+i+".rtf");}
            }
        }
    }
}
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class CreadorPanelCentroIndice
{
    JPanel panelCentro;
     JTextArea[]  componenteCentro;
     
    public CreadorPanelCentroIndice(String[] capitulos,int numeroDeCapitulos)
    {
        panelCentro= new JPanel(new GridLayout(numeroDeCapitulos,1));
        panelCentro.setVisible(true);
        panelCentro.setBackground(Color.yellow);
     
        componenteCentro = new JTextArea[numeroDeCapitulos];
        for (int i=0;i<numeroDeCapitulos;i++)
        {
            componenteCentro[i]=new JTextArea(capitulos[i]);
            componenteCentro[i].setEditable(false);
            componenteCentro[i].setBackground(Color.lightGray);
            componenteCentro[i].setBorder(BorderFactory.createLineBorder(Color.black));
            panelCentro.add(componenteCentro[i]);
        }
             
    }

    public JPanel getPanelCentro(){return panelCentro;}
}

139
Hola.
Gracias por el tiempo dedicado y por tus recomendaciones.
Sobre el error,la parte del membrana no esta terminada. Los temas del netbeans aun no llegan a ninguna parte. Se me olvido indicarlo, lo siento .

140
Hola,

Aqui dejo un ejemplo de programa en el que se gestionan 3 cursos de Java.

Código: [Seleccionar]
package Ventanas;
import java.awt.BorderLayout;
import javax.swing.JFrame ;

public class JFramePrincipal extends JFrame
{   
    String titulo="";

    public  JFramePrincipal (String titulo)
    { 
        super(titulo);

        setLayout(new BorderLayout(0,0));
        setLocation(350, 20);
        setResizable(false);
        setVisible(true);
        setSize(770,700);           
    }   
}
Código: [Seleccionar]
package Ventanas;
import javax.swing.*;
import java.awt.*;

public class PanelCentro extends JPanel
{
    private JTextField temas[];
    private String[] tituloTemas;
    private int numeroDeTemas;
    private int colorPanelCentral=0;
    public PanelCentro (String[]tituloTemas,int numeroDeTemas,int colorPanelCentral){
        super();
        this.numeroDeTemas=numeroDeTemas;
        this.tituloTemas=tituloTemas;
        this.colorPanelCentral=colorPanelCentral;
        centro(tituloTemas,numeroDeTemas,colorPanelCentral);       
    } 

   public void centro (String[]tituloTemas,int numeroDeTemas,int colorPanelCentral){
        setLayout(new GridLayout(numeroDeTemas, 1));
        setBorder(BorderFactory.createLineBorder(Color.black));
        setBackground(Color.yellow);
       
        temas = new JTextField[numeroDeTemas];
        for (int i=0; i<numeroDeTemas; i++)
        {   temas[i] = new JTextField("     "+tituloTemas[i]);
            temas[i].setEditable(false);
            if (colorPanelCentral==1){
                temas[i].setBackground(Color.green);
                temas[i].setBorder(BorderFactory.createLineBorder(Color.black));
            temas[i].setFont(new Font("Arial", Font.BOLD, 15));}
            if (colorPanelCentral==2){
                temas[i].setBackground(Color.yellow);
                temas[i].setBorder(BorderFactory.createLineBorder(Color.black));
                temas[i].setFont(new Font("Arial", Font.BOLD, 25));}
            if (colorPanelCentral==3){
                temas[i].setBackground(Color.cyan);
                temas[i].setBorder(BorderFactory.createLineBorder(Color.yellow));}
            add(temas[i]);
        }
    }   
}
Código: [Seleccionar]
package Ventanas;
import javax.swing.*;
import java.awt.*;

public class  PanelOeste extends JPanel
{
    public PanelOeste()
    {
        super();       
    }
}
Código: [Seleccionar]
package Ventanas;
import javax.swing.*;
import java.awt.*;

public class PanelSur extends JPanel 
{
    public PanelSur(int numeroBotones){
        super();
        setLayout(new GridLayout(1,numeroBotones));
        setBorder(BorderFactory.createLineBorder(Color.black));
        setBackground(Color.cyan);
    } 
}
Código: [Seleccionar]
import Ventanas.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.*;

public class Portada extends JFramePrincipal implements  ActionListener
{
    private JButton[] botones;
    private JButton botonSurSalir,botonSurEmpezar;
    private String[] intro={"APRENDER A PROGRAMAR. Java desde cero",
            "APRENDER A PROGRAMAR. Java nivel avanzado I ","JEDI.Curso de Java"};
    private int numeroDeCurso=1;
    public Portada ()
    {  super("INDICE DE CURSOS");
       
        PanelOeste ventanaOeste = new PanelOeste();
        ventanaOeste.setLayout(new GridLayout(3,1));
        ventanaOeste.setBorder(BorderFactory.createLineBorder(Color.black));
        ventanaOeste.setBackground(Color.black);
        botones = new JButton[8];
        for (int i=1; i<=3; i++)

        {   botones[i] = new JButton(""+(i));
            ventanaOeste.add(botones[i]);
            botones[i].addActionListener(this);
        }

        PanelCentro ventanaCentro = new PanelCentro(intro,3,2);
        ventanaCentro.setBorder(BorderFactory.createLineBorder(Color.black));
        ventanaCentro.setBackground(Color.yellow);

        PanelSur ventanaSur = new PanelSur(1);
        botonSurSalir =new JButton("Salir");
        botonSurSalir.addActionListener(this);
        ventanaSur.add(botonSurSalir);

        add(ventanaCentro,BorderLayout.CENTER);
        add(ventanaSur,BorderLayout.SOUTH);
        add(ventanaOeste,BorderLayout.WEST);

    }

    public void actionPerformed(ActionEvent e){
        if(e.getActionCommand().equals("Salir") ) {setVisible(false);}
        for (int i=1;i<=3;i++){
            if(e.getActionCommand().equals(""+i) ) {numeroDeCurso=i;
                setVisible(false);new TemasCursos(numeroDeCurso);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ;}

        }
    }

    public static void main(String[] args) {
        new    Portada();}
}
Código: [Seleccionar]
public class TemasCursos
{
    String [ ] temasCursoAvanzado = {
            "PRINCIPALES CLASES DE UTILIDADES",
            "GESTIÓN DE EXCEPCIONES",
            "GESTIÓN DE LA ENTRADA/SALIDA EN JAVA",
            "INTRODUCCIÓN A LAS INTERFACES GRÁFICAS: AWT Y SWING. GESTIÓN DE EVENTOS",
            "INTRODUCCIÓN DESARROLLO DE SOFTWARE CON NETBEANS",
            "DESARROLLO AVANZADO CON NETBEANS",
            "GESTIÓN DE CONTROL DE VERSIONES",};
    String[] temasJavaDesdeCero = {"1 a 25","26 a 51","51 a 75","76 a 85"};
    String [ ] temasJedi = {"  Introduccion","  Estructuras basicas de programacion",
            "  Programacion orientada a objetos","  Excepciones","  Programacion grafica.El entorno Swing",
            "  Eventos","  El paradigma modelo-vista-controlador","  Applets","  Entrada/Salida:Streams",
            "  Epigrafe"};
    public TemasCursos(int numeroCurso)
    {
        if (numeroCurso==1){new IndiceCursos(temasJavaDesdeCero,4,1,"APRENDER JAVA DESDE CERO");}
        if (numeroCurso==2){new IndiceCursos(temasCursoAvanzado,7,2,"APRENDER JAVA.CURSO AVANZADO");}
        if (numeroCurso==3){new IndiceCursos(temasJedi,10,3,"JEDI.CURSO AVANZADO");}
    }

}
Código: [Seleccionar]
import Ventanas.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.*;

public class IndiceCursos extends JFramePrincipal implements  ActionListener
{
    private JButton[] botones;
    private JButton botonSur;
    private String[] tituloTemas={};
    int numeroCurso;
    String [ ] capitulos = { };
    public IndiceCursos (String[] capitulos,int xBotones,int numeroCurso,String titulo)
    {  super(titulo);
        this.numeroCurso=numeroCurso;
        this.capitulos=capitulos;
        PanelOeste ventanaOeste = new PanelOeste();
        ventanaOeste.setLayout(new GridLayout(xBotones,1));
        ventanaOeste.setBorder(BorderFactory.createLineBorder(Color.black));
        ventanaOeste.setBackground(Color.black);
        botones = new JButton[xBotones+1];
        for (int i=1; i<=xBotones; i++)

        {   botones[i] = new JButton(""+(i));
            ventanaOeste.add(botones[i]);
            botones[i].addActionListener(this);
        }

        PanelCentro ventanaCentro = new PanelCentro(capitulos,xBotones,1);

        PanelSur ventanaSur = new PanelSur(1);
        botonSur =new JButton("Atras");
        ventanaSur.add(botonSur);
        botonSur.addActionListener(this);

        add(ventanaOeste,BorderLayout.WEST);
        add(ventanaCentro,BorderLayout.CENTER);
        add(ventanaSur,BorderLayout.SOUTH);
    }

    public void actionPerformed(ActionEvent e){

        if(e.getActionCommand().equals("Atras") ) {setVisible(false);new Portada();}
        for (int i=1;i<=13;i++){int numerodeIndice=i;
            if(e.getActionCommand().equals(""+i) ) {setVisible(false);new SubTemasCursos(numeroCurso,numerodeIndice);}
        }
    }
}

Código: [Seleccionar]
public class GestorTemasCursos
{

    public GestorTemasCursos(int numeroCurso,int numeroIndice,String[] []temasDesdeCero,String[] []temasAvanzado,String[][] temasJedi)
    {
        int numeroBotones=0;
        int y=0;
        switch (numeroCurso){
            case 1: {
                switch (numeroIndice){
                    case 1: {numeroBotones=25;break;}
                    case 2: {numeroBotones=25;break;}
                    case 3: {numeroBotones=25;break;}
                    case 4: {numeroBotones=10;break;}
                }
                new GestorDeSubTemas(temasDesdeCero[numeroIndice-1],numeroBotones,numeroIndice-1,"APRENDER JAVA DESDE CERO",2);
                break;}

            case 2:{
                switch (numeroIndice){
                    case 1: {numeroBotones=15;break;}
                    case 2: {numeroBotones=9;break;}
                    case 3: {numeroBotones=5;break;}
                    case 4: {numeroBotones=17;break;}
                }
                new GestorDeSubTemas(temasAvanzado[numeroIndice-1],numeroBotones,numeroIndice-1,"APRENDER JAVA.CURDO AVANZADO",1);
                break; }

            case 3: {
                switch (numeroIndice){
                    case 1: {numeroBotones=4;break;}
                    case 2: {numeroBotones=13;break;}
                    case 3: {numeroBotones=4;break;}
                    case 4: {numeroBotones=3;break;}
                    case 5: {numeroBotones=3;break;}
                    case 6: {numeroBotones=3;break;}
                    case 7: {numeroBotones=2;break;}
                    case 8: {numeroBotones=8;break;}
                    case 9: {numeroBotones=9;break;}
                    case 10: {numeroBotones=4;break;}
                }         

                new GestorDeSubTemas(temasJedi[numeroIndice-1],numeroBotones,numeroIndice-1,"JEDI.CURSO AVANZADO",3);
                break;}
        }
    }
}
Código: [Seleccionar]
import Ventanas.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.*;
import java.io.IOException;
public class GestorDeSubTemas extends JFramePrincipal implements  ActionListener
{
    private JButton botonSur;
    private JButton[] botones;
    private String[] tituloTemas={};
    private int numeroBotones,carpetaTemas;
    private int temario;
    String ruta,titulo;
    public GestorDeSubTemas (String [] tituloTemas,int numeroBotones,int carpetaTemas,String titulo,int temario)
    {  super(titulo);
        this.temario=temario;
        this.tituloTemas=tituloTemas;
        this.numeroBotones=numeroBotones;
        this.carpetaTemas=carpetaTemas;
        this.titulo=titulo;
        PanelOeste ventanaOeste = new PanelOeste();
        ventanaOeste.setLayout(new GridLayout(numeroBotones,1));
        ventanaOeste.setBorder(BorderFactory.createLineBorder(Color.black));
        ventanaOeste.setBackground(Color.yellow);
        botones = new JButton[numeroBotones+1];
        for (int i=1; i<=numeroBotones; i++)

        {   botones[i] = new JButton(""+(i));
            ventanaOeste.add(botones[i]);
            botones[i].addActionListener(this);
        }

        PanelCentro ventanaCentro = new PanelCentro(tituloTemas,numeroBotones,3);

        PanelSur ventanaSur = new PanelSur(1);
        botonSur =new JButton("Atras");
        ventanaSur.add(botonSur);
        botonSur.addActionListener(this);

        add(ventanaOeste,BorderLayout.WEST);
        add(ventanaCentro,BorderLayout.CENTER);
        add(ventanaSur,BorderLayout.SOUTH);
    }

    public void Archivo (String archivo){
        try {
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + archivo);
        } catch (IOException a) {
            a.printStackTrace();
        }
    }

    public void actionPerformed(ActionEvent e){
        if (temario==1){ruta="AVANZADO/";}
        if (temario==2){ruta="JAVADESDECERO/";}
        if (temario==3){ruta="JEDI/";}
        String[] tema={"TEMA1/","TEMA2/","TEMA3/","TEMA4/","TEMA5/","TEMA6/","TEMA7/","TEMA8/","TEMA9/","TEMA10/"};
        String[] capitulo={"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"};
        int i=0;
        for (i=1; i<numeroBotones+1; i++){
            if(e.getActionCommand().equals(""+i) ) {
                Archivo("C:/Users/Pc/Desktop/JAVA/PROGRAMAS/APRENDER A PROGRAMAR II/"+ruta+tema[carpetaTemas]+capitulo[i-1]+".rtf");}
        }
        if(e.getActionCommand().equals("Atras") ) {setVisible(false);
            if (titulo.equals("APRENDER JAVA DESDE CERO")){new TemasCursos(1);}
            if (titulo.equals("APRENDER JAVA.CURDO AVANZADO")){new TemasCursos(2);}
            if (titulo.equals("JEDI.CURSO AVANZADO")){new TemasCursos(3);}
        }
    }
}
Código: [Seleccionar]
public class SubTemasCursos
{   //pongo los titulos de los temas con numero por cuestion de espacio para publicarlo
    String[] tema1 = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"};
    String[] tema2 = {"1","2","3","4","5","6","7","8","9"};
    String[] tema3 = {"1","2","3","4","5"};
    String[] tema4 = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"};

    String[] temas1a25 = {"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"};
    String[] temas26a50 = {"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"};
    String[] temas51a75 = {"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"};
    String[] temas76a85 = {"1","2","3","4","5","6","7","8","9","10"};
    String [ ] introduccion = {"1","2","3","4"};
    String [ ] estructurasBasicas = {"1","2","3","4","5","6","7","8","9","10","11","12","13"};
    String [ ] progOrientada = {"1","2","3","4"};
    String [ ] excepciones = {"1","2","3"};   
    String[] programacionGrafica={"1","2","3"};
    String [ ] eventos = {"1","2","3"};
    String [ ] paradigma ={"1","2"} ;     
    String [ ] applets={"1","2","3","4","5","6","7","8"} ;
    String[]entradaSalida={"1","2","3","4","5","6","7","8","9"};
    String[]epigrafe={"1","2","3","4"};
   
    String[] []temasJedi={introduccion,estructurasBasicas,progOrientada,excepciones,programacionGrafica,eventos,paradigma,applets,entradaSalida,epigrafe}; 
    String[] []temasDesdeCero={temas1a25,temas26a50,temas51a75,temas76a85};
    String[] []temasAvanzado={tema1,tema2,tema3,tema4};
    public SubTemasCursos(int numeroCurso,int numeroIndice)
    {
        new GestorTemasCursos(numeroCurso,numeroIndice,temasDesdeCero,temasAvanzado,temasJedi);
    }
}

Páginas: 1 2 3 4 5 6 [7] 8

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".