Pesquisar neste blogue

segunda-feira, 23 de janeiro de 2012

JPanel com imagem de fundo – JAVA SWING


Á dias deparei-me com um problema, enquanto estava a programar. Queria por uma imagem de fundo num JPanel, mas por definição não existe nenhum método na classe JPanel do Swing que nos permita fazer isto. Então de muito pesquisar e usar bocadinhos de código que muitos sítios la consegui.


                Para contornarmos esta situação temos que criar uma nova classe que estenda de JPanel, a fim de podermos modificar o método que vem por definição na mesma, que trata do preenchimento do fundo. O método responsável por isso no JPanel é o “paintComponent” que recebe como argumento um objeto “Graphic”. Esse objeto “Graphic” é responsável por criar uma imagem no fundo do JPanel.


Então a solução fica assim.
 
 //Primeiro criamos a classe a estender de JPanel
    class ImagePanel extends JPanel
   {


//Criamos um atributo da classe da classe “Image”
      private Image img;

//Criamos o construtor que recebe em argumento um objeto “Image” e um Dimension”


      public ImagePanel(Image img, Dimension dim)
      {

//Vamos associar o nosso atributo ao objeto que veio do argumento
         this.img = img;

//Criamos um objeto “Dimension” que associamos ao que vem em argumento
         Dimension size = dim;
    
//Definimos os tamanhos que vai ter o nosso painel, Preferencial, Mínimo e Máximo
         setPreferredSize(size);
         setMinimumSize(size);
         setMaximumSize(size);
         setSize(size);


//Aqui depende de cada um de vocês se querem ou não por Layout

         setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
      }

//Cosntroi se o método que vai substituir o “paintComponent” predefinido
      public void paintComponent(Graphics g)
      {

//Vai usando o objeto “Graphics” desenhar uma imagem no fundo do painel

//this.img é a imagem que vem do atributo que definimos e os outros parâmetros deixem //estar tal como esta que funciona na perfeição. 

         g.drawImage(this.img, 0, 0, null);
      }

   }

Agora só precisamos criar um objeto da classe que criamos e passar os argumentos definidos e assim obtemos o nosso JPanel com fundo.


Espero ter sido útil a explicação para vocês.


Alguma dúvida deixem em comentário.

quinta-feira, 29 de setembro de 2011

Programa GESTOR DE NOTAS

Venho apresentar-vos um programa que estou a desenvolver, com objectivo de trabalhar o músculo da programação. O programa, desenvolvido em Java, consistira num gestor de notas universitárias.



 Funcionalidades previstas - 
  • Possibilidade de criação de disciplinas e os respectivos momentos de avaliação 
  •  Criação de cursos com as disciplinas criadas.
  • Inscrição nos cursos criados.
  • Matricula num ano curricular de um dado curso
  • Inserção das notas dos receptivas disciplinas inscritas.
  • Obtenção da classificação recorrendo ao calculo das notas obtidas nos momentos de avaliação
  • Estatísticas gerais, tais como, 
    • Disciplinas que faltam para concluir curso.
    • Numero de ECTS completos
    • Ano actual
    •  Media actual  
 É possível que aquando da publicação da versão Beta do programa, existam mais algumas  funcionalidades.

Em breve será disponibilizada a versão Beta.