Você está aqui: Java ::: Dicas & Truques ::: Formulários e Janelas

Como posicionar componentes em sobre uma imagem de fundo em uma JFrame

Quantidade de visualizações: 13058 vezes
/*
 Este exemplo mostra como exibir uma imagem
 de fundo em uma JFrame. Note que os componentes
 são exibidos por cima da imagem. Antes de testar
 certifique-se de ter a imagem "fundo.jpg" no
 diretório da aplicação.
*/

import java.awt.*;
import javax.swing.*;

public class Estudos extends JFrame{
  public Estudos() {
    super("A classe JFrame");
    
    // Define o painel que conterá os
    // componentes do formulário
    JPanel painel = new JPanel();
    painel.setOpaque(false);
    painel.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    JButton btn = new JButton("Clique Aqui");
    painel.add(btn);

    setGlassPane(painel);
    getGlassPane().setVisible(true);    
   
    // Define a imagem de fundo
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
    ImageIcon img = new ImageIcon("fundo.jpg");
    JLabel label = new JLabel(img);
    c.add(label, BorderLayout.CENTER);

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como usar encapsulamento em Java - Programação Orientada a Objetos em Java

Quantidade de visualizações: 37864 vezes
Encapsulamento é a técnica de transformar os objetos que compõem uma aplicação em verdadeiras caixas-pretas. De fato, se pensarmos em termos de informática, é possível para um usuário comum usar todas as funcionalidades de uma impressora sem nem mesmo entender seu funcionamento interno. Imagine o desastre que seria se todos os usuários resolvessem abrir suas impressoras para investigar o que há dentro delas.

Da mesma forma, ao construir uma classe, devemos fazê-lo de forma que o usuário desta classe tenha acesso apenas aos métodos que permitem ler informações da classe ou fornecer os dados necessários para sua correta operação. Dados relativos ao funcionamento interno da classe devem permanecer ocultos e acessíveis somente aos métodos da própria classe.

O encapsulamento deve ser aplicado de forma a permitir que alterações na estrutura interna de uma classe não prejudique o funcionamento do código externo que a usa. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
 
  class Pedido{
    public List obterProdutos(){
      // monta uma lista de produtos
      // pertecentes a este pedido
      return lista;
    }
  }

A classe Pedido contém um método chamado obterProdutos() que retorna uma lista de produtos pertencentes a um determinado pedido. É aqui que o encapsulamento se torna importante. O código que usa esta classe desconhece completamente como esta lista de produtos é montada. Tudo que nos interessa é a lista de produtos que o método retorna. O programador da classe pode decidir a qualquer momento, talvez para melhorar o desempenho da classe, alterar a forma de montagem da lista. Uma vez que o nome e retorno do método (incluindo a estrutura da lista retornada) continuem sendo os mesmos, o código que usa a classe continuará funcionando como anteriormente.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Um programa Java que pede ao usuário que informe seu nome e exiba uma mensagem de boas-vindas

Quantidade de visualizações: 15576 vezes
Pergunta/Tarefa:

Escreva um programa Java que pede ao usuário que informe seu nome e exiba uma mensagem de boas-vindas. Se o usuário informar "Osmar J. Silva" seu programa deverá exibir a mensagem:

Seja bem-vindo(a), Osmar J. Silva

Faça duas versões do exercício. Na primeira você deverá usar a classe Scanner para efetuar a leitura e System.out.println() para exibir a saída. Na segunda versão você deverá usar os métodos showInputDialog() e showMessageDialog() da classe JOptionPane (presente no pacote javax.swing).

Resposta/Solução:

Vamos primeiro à resolução do exercício usando a classe Scanner para efetuar a leitura e System.out.println() para exibir a saída:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // vamos solicitar ao usuário que informe seu nome
  System.out.print("Informe seu nome: ");
  
  // vamos ler o nome informado
  String nome = entrada.nextLine();

  // agora vamos exibir a mensagem de boas-vindas
  System.out.println("Seja bem-vinda(a), " + nome);
}

Agora veja a resolução usando os métodos showInputDialog() e showMessageDialog() da classe JOptionPane:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe JOptionPane
  // import javax.swing.JOptionPane;
    
  // vamos solicitar ao usuário que informe seu nome
  String nome = JOptionPane.showInputDialog(null, "Informe seu nome");

  // agora vamos exibir a mensagem de boas-vindas
  JOptionPane.showMessageDialog(null, "Seja bem-vinda(a), " + nome);
}



Java ::: Fundamentos da Linguagem ::: Modificadores

Como usar o modificador synchronized da linguagem Java

Quantidade de visualizações: 23899 vezes
O modificador synchronized tem seu uso e importância destacados quando várias threads (fluxos de execução) estão sendo executadas em um programa. Tais threads podem tentar acessar métodos de uma ou mais classes ao mesmo tempo. No entanto, pode ser necessário planejarmos o sistema de forma que determinados métodos possam ser acessados por somente uma thread de cada vez, talvez para garantir a integridade de valores das diversas variáveis envolvidas no processo. É aqui que o modificador synchronized é usado.

Ao marcarmos um método como synchronized, o sistema de execução Java garantirá que apenas uma thread de cada vez acesse tal método. Se outras threads tentarem fazer o mesmo, elas serão colocadas em espera até que a thread atual finalize seu trabalho e libere o método.

Um exemplo de aplicação do modificador synchronized pode ser visto em uma classe Pilha. Como sabemos, esta estrutura de dados possui métodos para inserir um novo item no topo da pilha e para removê-lo do topo (lembra? LIFO: Last In First Out). Ora, para evitar que uma thread remova o elemento do topo ao mesmo tempo em que outra está tentando inserir, tais métodos devem ser marcados como synchronized. Isso evitará que os dados sejam corrompidos.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 31 usuários muito felizes estudando em nosso site.