Comunidad de diseño web y desarrollo en internet online

Problema Java array Botones e imagenes

Citar            
MensajeEscrito el 04 Dic 2015 01:50 am
Hola que tal hace tiempo que conozco esta web pero la deje un rato y se me olvido mi anterior cuenta quería preguntar si también me pueden ayudar con código Java?

tengo un problema el programa funciona bien pero cuando abre el frame me muestra los botones sin las imagenes y los sources están en su lugar

Código Java :

import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.*;

public class Menu extends JFrame{
      //Se crean los botones
      private JButton Botones[] = new JButton [5];
      private JLabel Etiquetas[] = new JLabel [3];
      protected final static ImageIcon [] imagenes = new ImageIcon[7];
      
      //Se crean los Frames
      JFrame principal = new JFrame("Menu principal");
      JFrame secundario = new JFrame("Seleccione aparato");
      
      //Crear imagenes e iconos
       Image icon = Toolkit.getDefaultToolkit().getImage(getClass().getResource("Imagenes/Icono.png"));
      
      public Menu(String Texto2){//Constructor
         super("Menu");
         //Declarar fondo
         Fondo fondo = new Fondo();
         
         //Propiedades JFrame
         principal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         principal.setSize(800,600);
         principal.setIconImage(icon);
          principal.setLocationRelativeTo(null);
         principal.setVisible(true);
         principal.setResizable(false);
         
         for(int i=0; i < imagenes.length; i++){
            imagenes[i] = new ImageIcon("imagenes/" +i +".png");
         }
          
         //Declaración botones
         for(int i = 0; i <= 2; i++){
            Botones[i] = new JButton(imagenes[i]);
            Botones[i].setCursor(new Cursor(Cursor.HAND_CURSOR));
            Botones[i].setContentAreaFilled(false);
            principal.add(Botones[i]);
         }

         Etiquetas[0] = new JLabel(imagenes[3]);
         Etiquetas[1] = new JLabel("Bienvenido: " +Texto2);
         
         //Propiedades Botones y Labels
          Etiquetas[1].setFont(new Font("Serif", Font.BOLD, 30));
          Etiquetas[1].setForeground(Color.white);

          Botones[0].setBounds(new Rectangle(25,375,250,120));
         Botones[1].setBounds(new Rectangle(600,0,60,60));
         Botones[2].setBounds(new Rectangle(500,375,250,120));
          Etiquetas[0].setBounds(new Rectangle(275,65,225,475));
          Etiquetas[1].setBounds(new Rectangle(10,0,600,75));
         
          //Agregamos los botones, fondo y labels al JFrame
         principal.add(Etiquetas[0]);
         principal.add(Etiquetas[1]);
         principal.add(fondo, BorderLayout.CENTER);
         
         //Le damos acción al dar clic al boton Iniciar
         Botones[0].addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent evt) {
                   principal.dispose();
                   MenuAparatos();
                }
             }
          );

         //Le damos acción al dar clic al boton Salir
         Botones[2].addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent evt) {
                   principal.dispose();
                   System.exit(0);
                }
             }
          );
         
         Botones[1].addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent evt) {
                   try{
                        File path = new File ("leeme.txt");
                        Desktop.getDesktop().open(path);
                   }catch (IOException ex) {
                      ex.printStackTrace();
                   }
                }
             }
          );
      }//Fin del constructor de la clase
      
      public void MenuAparatos(){
         //Declaración Fondo
         Fondo fondo = new Fondo();
         
         //Propiedades JFrame
         secundario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         secundario.setSize(800,600);
         secundario.setIconImage(icon);
         secundario.setLocationRelativeTo(null);
         secundario.setVisible(true);
         secundario.setResizable(false);

         for(int i=0; i < imagenes.length; i++){
            imagenes[i] = new ImageIcon("imagenes/"+i+".png");
         }
          
         //Declaración botones
         for(int i = 3; i <= 5; i++){
            Botones[i] = new JButton(imagenes[i]);
            Botones[i].setCursor(new Cursor(Cursor.HAND_CURSOR));
            Botones[i].setContentAreaFilled(false);
            secundario.add(Botones[i]);
         }
         
         Etiquetas[2] = new JLabel(imagenes[5]);
         
         //Propiedades Botones
         Botones[3].setBounds(new Rectangle(0,0,50,50));
         Botones[4].setBounds(new Rectangle(45,125,320,150));
         Etiquetas[3].setBounds(new Rectangle(45,325,320,150));
         
         //Agregamos Botones y fondo al JFrame
         secundario.add(Etiquetas[3]);
         secundario.add(fondo, BorderLayout.CENTER);

         //Le damos acción al dar clic al boton Regresar
         Botones[3].addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent evt) {
                   secundario.dispose();
                   String texto = new String("");
                   Registro.leer(texto);
                   Menu p = new Menu(texto);
                    
                    p.addWindowListener(new WindowAdapter(){
                       public void windowClosing(WindowEvent evt){
                          System.exit(0);
                       }
                    });
                }
             }
          );
      }
}//Fin de la clase


Gracias de antemano

Por Sergio_Camilo

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 06 Dic 2015 03:16 am
Ya pude amigos si alguien le interesa esta es la solución el problema era con el for que llenaba el array de imagenes

Código Java :

for(int i = 0; i < imagenes.length; i++){
            imagenes[i] = new ImageIcon(getClass().getResource("imagenes/" +i +".png"));
         }

Por Sergio_Camilo

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 09 Dic 2015 12:00 pm
Este foro es de JavaScript. no de Java.

Por DriverOp

Claber

2510 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.