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: 13023 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 ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades. A condição de parada do laço é o valor da idade igual a 0

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

Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades de algumas pessoas. A condição de parada do laço é o valor da idade igual a 0. Calcule a escreva a idade média deste grupo de pessoas.

Sua saída deverá ser parecida com:

Informe a idade: 19
Informe a idade: 30
Informe a idade: 21
Informe a idade: 45
Informe a idade: 0
A idade média é: 28.75
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

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

package exercicios;

import java.util.Scanner;

public class Exercicios {
  public static void main(String[] args) {
    // vamos efetuar a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    int idade; // guarda a idade lida de cada indivíduo
    double idade_media; // a idade média calculada
    int soma = 0; // a soma das idades de cada indivíduo
    int contador = 0; // conta as idades lidas
    
    // laço do...while que repetirá até que o valor da idade seja 0
    do{
      System.out.print("Informe a idade: ");
      idade = Integer.parseInt(entrada.nextLine());
      
      // a idade lida é diferente de 0?
      if(idade != 0){
        soma = soma + idade; // soma mais esta idade
        contador++; // aumenta a quantidade de idades lidas
      }
    }while(idade != 0);
    
    // calcula a idade média
    // note que forcei contador para o tipo double antes da divisão
    // isso faz com que o resultado seja do tipo double
    idade_media = soma / (contador * 1.0);
    
    // finalmente mostramos o resultado
    System.out.println("A idade média é: " + idade_media);
  }
}



Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o ponto médio entre dois pontos no plano usando Java - Geometria com Java

Quantidade de visualizações: 2863 vezes
Nesta dica mostrarei como é possível usar um trecho de código Java para obter o ponto médio entre dois pontos quaisquer no plano, ou seja, no R2. Em mais dicas dessa seção você aprenderá como isso pode ser feito no R3 (espaço)

Comece analisando a figura abaixo, na qual temos dois pontos A e B, com suas coordenadas correspondentes, e o ponto médio M:



Assim, dados dois pontos A = (2, 9) e B = (10, 2) no plano cartesiano R2, as coordenadas x e y do ponto médio são calculadas por meio da seguinte fórmula:

\[x = \frac{x_1 + x_2}{2}\]
\[y = \frac{y_1 + y_2}{2}\]

Colocando na fórmula os valores que já temos:

\[x = \frac{2 + 10}{2} = \frac{12}{2} = 6 \]
\[y = \frac{9 + 2}{2} = \frac{11}{2} = 5.5 \]

Assim, as coordenadas do ponto médio será (x = 6, y = 5.5).

E agora veja o código Java completo para calcular as coordenadas do ponto médio a partir de dois pontos no plano cartesiano (plano 2D ou R2):

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

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    Scanner entrada = new Scanner(System.in);
    
    // x e y do primeiro ponto
    System.out.print("Coordenada x do primeiro ponto: ");
    float x1 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do primeiro ponto: ");
    float y1 = Float.parseFloat(entrada.nextLine());
    
    // x e y do segundo ponto
    System.out.print("Coordenada x do segundo ponto: ");
    float x2 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do segundo ponto: ");
    float y2 = Float.parseFloat(entrada.nextLine());
    
    // vamos calcular as coordenadas x e y do ponto médio    
    float x = (x1 + x2) / 2;
    float y = (y1 + y2) / 2;
    
    // vamos mostrar o resultado
    System.out.println("As coordenadas do ponto médio são: (x = " +
      x + ", y = " + y + ")");
  }
}

Ao executarmos este código Java nós teremos o seguinte resultado:

Coordenada x do primeiro ponto: 2
Coordenada y do primeiro ponto: 9
Coordenada x do segundo ponto: 10
Coordenada y do segundo ponto: 2
As coordenadas do ponto médio são: (x = 6.0, y = 5.5)


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de Java - Como rotacionar os elementos de um vetor de inteiros n vezes para a direita - Solução usando vetor temporário

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

Dado o vetor:

// vamos criar um vetor de inteiros
int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
Escreva um método Java que rotaciona este vetor para a direita um determinado número de casas. A função deverá receber o array e um inteiro indicando o número de rotações, ou seja, o número de vezes que os elementos do vetor serão movimentados para a direita.

Importante: a solução que apresentamos usa um array adicional para resolver o desafio. Fique à vontade para usar força-bruta ou outra abordagem que achar mais conveniente.

Sua saída deverá ser parecida com:

Array na ordem original:
1 6 9 3 7 8 5 2 

Rotação do vetor no passo 1 do primeiro laço:
8 0 0 0 0 0 0 0 

Rotação do vetor no passo 2 do primeiro laço:
8 5 0 0 0 0 0 0 

Rotação do vetor no passo 3 do primeiro laço:
8 5 2 0 0 0 0 0 

Rotação do vetor no passo 1 do segundo laço:
8 5 2 1 0 0 0 0 

Rotação do vetor no passo 2 do segundo laço:
8 5 2 1 6 0 0 0 

Rotação do vetor no passo 3 do segundo laço:
8 5 2 1 6 9 0 0 

Rotação do vetor no passo 4 do segundo laço:
8 5 2 1 6 9 3 0 

Rotação do vetor no passo 5 do segundo laço:
8 5 2 1 6 9 3 7 

Array depois de rotacionar 3 vezes:
8 5 2 1 6 9 3 7
Resposta/Solução:

Veja a resolução comentada deste exercício em Java:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um vetor de inteiros
    int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
    
    // mostramos o array na ordem original
    System.out.println("Array na ordem original:");
    exibirVetor(valores);
    
    // vamos rotacionar o array 3 casas para a direita
    valores = rotacionarArray(valores, 3);
    
    // e mostramos o resultado
    System.out.println("Array depois de rotacionar 3 vezes:");
    exibirVetor(valores);
  }
  
  // método usado para exibir o array
  public static void exibirVetor(int []vetor){
    // percorremos cada elemento do vetor
    for (int i = 0; i < vetor.length; i++) {
      System.out.print(vetor[i] + " ");
    }
    System.out.println("\n");
  }
  
  // método que recebe um vetor de inteiros e o rotaciona um
  // determinado número de vezes
  public static int[] rotacionarArray(int[] vetor, int n) {
    // vamos obter a quantidade de elementos no vetor    
    int quant = vetor.length;
    
    // o número de rotações é maior que a quantidade de
    // elementos no vetor? Se for nós ajustamos o número
    // de rotações usando o operador de módulo
    if(n > quant){
      n = n % quant;
    }
    
    // criamos um vetor temporário
    int[] resultado = new int[quant];
 
    // o primeiro laço movimenta os elementos a partir
    // do valor de n
    for(int i = 0; i < n; i++){
      resultado[i] = vetor[quant - n + i];
      // mostramos o progresso
      System.out.println("Rotação do vetor no passo " + (i + 1) + 
        " do primeiro laço:");
      exibirVetor(resultado);
    }
 
    // ajustamos o índice para o primeiro elemento do vetor
    int indice = 0;
    for(int i = n; i < quant; i++){
      resultado[i] = vetor[indice];
      // mostramos o progresso
      System.out.println("Rotação do vetor no passo " + (indice + 1) + 
        " do segundo laço:");
      exibirVetor(resultado);
      indice++; // incrementa o índice
    }
    
    // retorna o vetor rotacionado
    return resultado;
  }
}

A solução que apresentamos aqui usa um vetor temporário, isto é, um array adicional, para melhorar a perfomance. Em outras dicas do site nós apresentamos uma solução para este desafio usando força-bruta. A força-bruta não é a melhor abordagem, mas pode ser mais fácil de ser entendida por iniciantes em programação.


Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais

É exemplo de ação permanente direta:

A) Peso próprio da estrutura.

B) Vento.

C) Terremoto.

D) Deslocamentos de apoios.

E) Mobiliário.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

O projeto de instalação hidrossanitária

Os profissionais da área civil devem estar atentos às definições e às funções dos mais diversos sistemas e equipamentos, não apenas do projeto hidrossanitário, mas da obra em um todo.

Considere os elementos a seguir e os relacione com o conceito correto:

I. Caixa sifonada (CS)

II. Subcoletor (SC)

III. Ramal de descarga (RD)

IV. Ralo (RA)

( ) Tubulação que recebe efluentes dos ramais de esgoto e conduz a um tubo de queda e/ou destes ao coletor predial.

( ) Tubulação que recebe diretamente efluentes de aparelhos sanitários, com exceção dos autossifonados, como mictórios, vasos, etc.

( ) É pequeno e tem apenas uma saída para conduzir a água.

( ) Tem apenas uma saída, mas conta com mais entradas (de 3 a 7).

Assinale a alternativa que apresenta a sequência correta:

A) II - III - IV - I.

B) IV - II - III - I.

C) III - II - I - IV.

D) II - I - IV - III.

E) III - IV - I - II.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

estados = {"SP": "SÃO PAULO", "GO": "GOIÁS",
  "RJ": "RIO DE JANEIRO"}
estados.pop("RJ")
print(estados)

A) {'SP': 'SÃO PAULO', 'GO': 'GOIÁS'}

B) {'RJ': 'RIO DE JANEIRO'}

C) Um erro TypeError: pop expected at least 1 argument, got 0 na linha 3

D) {'SP': 'SÃO PAULO', 'GO': 'GOIÁS', 'RJ': 'RIO DE JANEIRO'}

E) {'GO': 'GOIÁS', 'RJ': 'RIO DE JANEIRO'}
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Equação de Bernoulli

Considere o tubo de fluxo abaixo contendo óleo, que flui de forma a podermos considera-lo um fluido ideal. Ele flui por um tubo que sobe de nível e se estreita. Dois manômetros marcam a pressão em dois pontos do tubo, como mostra a figura. Qual o valor da pressão indicada no segundo manômetro? (Dados: ρóleo = 900 kg / m3 e g = 9,8 m/s2)



A) 38,4 kPa

B) 162 kPa

C) 64,4 kPa

D) 135 kPa

E) 74,0 kPa
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Turbinas hidráulicas

Turbinas hidráulicas têm como principal aplicação a geração de energia, transformando energia cinética da água em energia mecânica, que será posteriormente convertida em energia elétrica.

Sobre as turbinas hidráulicas, marque a alternativa correta:

A) Uma turbina do tipo Francis apresenta uma baixa eficiência e pode ser operada apenas em baixas vazões.

B) Uma turbina do tipo Francis tem eficiência relativamente baixa, porém tem ampla faixa de operação.

C) A turbina do tipo Pelton tem um conjunto de pás fixas que podem ajustar o ângulo de entrada da água.

D) A turbina do tipo Kaplan foi adaptada a partir da turbina de hélice e pode ser operada em grandes vazões.

E) Uma turbina do tipo Pelton tem suas pás em formato de conchas e são operadas em grandes vazões.
Verificar Resposta Estudar Cards Todas as Questões

Mais Desafios de Programação e 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: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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