Você está aqui: Java ::: Classes e Componentes ::: JMenuBar, JMenu, JMenuItem e Afins

Como habilitar ou desabilitar um JMenu

Quantidade de visualizações: 8546 vezes
Para habilitar ou desabilitar um JMenu, podemos usar o método setEnabled. Veja:
// Cria um menu
JMenu opcoes = new JMenu("Opções");

// Desabilita o menu
opcoes.setEnabled(false);

// Habilita o menu
opcoes.setEnabled(true);


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como obter o arco-seno de um ângulo em radianos usando o método asin() da classe Math da linguagem Java

Quantidade de visualizações: 13845 vezes
Nesta dica eu mostrarei como podemos obter o arco seno (ou arco-seno) de um determinado ângulo (em radianos, não em graus). De acordo com a seguinte definição:

Se seno(x) = y, então arcoseno(y) = x

O arco-seno (geralmente abreviado como arcsen, ou arcsin) é parte das funções trigonométricas inversas, ou seja, ele é o inverso do seno. Dessa forma, se o seno é a relação entre o cateto oposto ao ângulo e a hipotenusa, o arcoseno parte dessa relação para encontrar o valor do ângulo.

A classe Math, do pacote java.lang, possui o seguinte método:

public static double asin(double a)


Este método recebe um valor double e retorna também um valor double, na faixa (-PI / 2) <= x <= (PI / 2), onde x é o valor forcecido para o método.

Veja o código para o exemplo:

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

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    double angulo = 0.5;
    System.out.println("O arco seno de " +
      angulo + " é " + Math.asin(angulo));
  }
}

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

O arco seno de 0.5 é 0.5235987755982989

Não se esqueça de que o resultado será em radianos. Assim, se efetuarmos o cálculo abaixo:

Graus = Radianos * (180 / PI)
Graus = 0.5235987755982989 * (180 / 3.14)

Teremos o valor aproximado de 30.015216435571276 para o ângulo em graus.


Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Como converter uma imagem colorida para tons de cinza em Java usando o filtro GrayFilter - Processamento de imagens em Java

Quantidade de visualizações: 11324 vezes
O exemplo abaixo mostra como usar a classe GrayFilter para converter uma imagem JPG colorida em uma imagem com tons de cinza. Veja que o segundo argumento no construtor da classe GrayFilter que usamos permite definir o nível de cinza (em porcentagem) que será aplicado:

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

import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;

public class Estudos extends JFrame{
  private BufferedImage imagem;
  private BufferedImage imagemCinza;
  AreaImagem areaImagem;  

  public Estudos(){
    super("Estudos Java");
    
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
	
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JFileChooser fc = new JFileChooser();

          int res = fc.showOpenDialog(null);
          if(res == JFileChooser.APPROVE_OPTION){
	    File arquivo = fc.getSelectedFile();  
          
            imagem = null;
          
            try{
              imagem = ImageIO.read(arquivo);
            }
            catch(IOException exc){
              JOptionPane.showMessageDialog(null, 
                "Erro ao carregar a imagem: " + 
                exc.getMessage());
            }

            if(imagem != null){
              areaImagem.imagem = imagem;
              areaImagem.repaint();  
            }
          }
        }
      }
    );

    JButton btn2 = 
      new JButton("Converter Escala Cinza");
    btn2.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          converterEscalaCinza();
        }
      }
    );

    JPanel painel = new JPanel();
    painel.setLayout(new FlowLayout());    
    painel.add(btn);
    painel.add(btn2);

    c.add(painel, BorderLayout.SOUTH);
    
    // Cria a área de exibição da imagem
    areaImagem = new AreaImagem();
    c.add(areaImagem, BorderLayout.CENTER);    
	
    setSize(400, 300);
    setVisible(true);
  }

  public void converterEscalaCinza(){
    ImageFilter filter = new GrayFilter(true, 30);
    ImageProducer producer = new FilteredImageSource(
      imagem.getSource(), filter);
    Image imagemTemp = this.createImage(producer);

    // precisamos converter Image para BufferedImage
    imagemCinza = new BufferedImage(imagem.getWidth(),
      imagem.getHeight(), BufferedImage.TYPE_INT_RGB);
    Graphics g = imagemCinza.getGraphics();
    g.drawImage(imagemTemp, 0, 0, null);
    g.dispose();

    areaImagem.imagem = imagemCinza;
    areaImagem.repaint();
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

// Sub-classe de JPanel para exibir a imagem
class AreaImagem extends JPanel{
  public BufferedImage imagem;

  public void paintComponent(Graphics g){ 
    super.paintComponent(g);
    
    // desenha a imagem no JPanel
    g.drawImage(imagem, 0, 0, this);
  } 
}



Java ::: Estruturas de Dados ::: Pilhas

Como criar uma pilha em Java usando um vetor (array) - Estruturas de Dados em Java

Quantidade de visualizações: 2204 vezes
A Pilha é uma estrutura de dados do tipo LIFO - Last-In, First-Out (Último a entrar, primeiro a sair). Neste tipo de estrutura, o último elemento a ser inserido é o primeiro a ser removido. Veja a imagem a seguir:



Embora seja mais comum a criação de uma estrutura de dados do tipo Pilha de forma dinâmica (usando ponteiros e referências), nesta dica eu mostrarei como podemos criá-la em Java usando um array, ou seja, um vetor. No exemplo eu usei inteiros, mas você pode modificar para o tipo de dados que você achar mais adequado.

Veja o código completo para uma classe Pilha usando um vetor de ints. Veja que o tamanho do vetor é informado no construtor da classe. Note também a lógica empregada na construção dos métodos empilhar(), desempilhar() e imprimirPilha():

Código para Pilha.java:

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

package estudos;

public class Pilha {
  private int elementos[]; // elementos na pilha
  private int topo; // o elemento no topo da pilha
  private int maximo; // a quantidade máxima de elementos na pilha

  // construtor da classe Pilha
  public Pilha(int tamanho) {
    // constrói o vetor
    this.elementos = new int[tamanho];
    // define o topo como -1
    this.topo = -1;
    // ajusta o tamanho da pilha para o valor recebido
    this.maximo = tamanho;
  }

  // método usado para empilhar um novo elemento na pilha
  public void empilhar(int item) {
    // a pilha já está cheia?
    if (this.topo == (this.maximo - 1)) {
      System.out.println("\nA pilha está cheia\n");
    } 
    else {
      // vamos inserir este elemento no topo da pilha
      this.elementos[++this.topo] = item;
    }
  }

  // méodo usado para desempilhar um elemento da pilha
  public int desempilhar() {
    // a pilha está vazia
    if (this.topo == -1) {
      System.out.println("\nA pilha está vazia\n");
      return -1;
    } 
    else {
      System.out.println("Elemento desempilhado: " + elementos[topo]);
      return this.elementos[this.topo--];
    }
  }

  // método que permite imprimir o conteúdo da pilha
  public void imprimirPilha() {
    // pilha vazia
    if (this.topo == -1) {
      System.out.println("\nA pilha está vazia\n");
    } 
    else {
      // vamos percorrer todos os elementos da pilha
      for (int i = 0; i <= this.topo; i++) {
        System.out.println("Item[" + (i + 1) + "]: " + this.elementos[i]);
      }
    }
  }
}

Veja agora o código para a classe principal, ou seja, a classe Main usada para testar a funcionalidade da nossa pilha:

Código para Principal.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 uma nova pilha com capacidade para 5 elementos
    Pilha p = new Pilha(5);

    // vamos empilhar 3 elementos
    p.empilhar(34);
    p.empilhar(52);
    p.empilhar(18);

    // vamos mostrar os elementos na pilha
    System.out.println("Itens presentes na Pilha\n");
    p.imprimirPilha();

    // agora vamos remover e retornar dois elementos da pilha
    System.out.println();
    p.desempilhar();
    p.desempilhar();

    // vamos mostrar os elementos na pilha novamente
    System.out.println("\nItens presentes na Pilha\n");
    p.imprimirPilha();
  }
}

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

Itens presentes na Pilha

Item[1]: 34
Item[2]: 52
Item[3]: 18

Elemento desempilhado: 18
Elemento desempilhado: 52

Itens presentes na Pilha

Item[1]: 34


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", "MG": "MINAS GERAIS"}
print("GO" in estados)

A) "GO"

B) True

C) False

D) "SP", "GO", "RJ", "MG"

E) "GOIÁS"
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Na construção switch...case...default do JavaScript, em qual parte colocamos a expressão a ser avaliada?

A) O JavaScript não possui switch...case

B) switch

C) case

D) default
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O exercício do direito à propriedade

Os direitos de vizinhança, quando violados, abrem para o lesado a possibilidade de ingressar com a medidas judiciais assecuratórias do seu direito, como solicitar a suspensão da obra que está sendo realizada pelo vizinho, sua reformulação ou demolição. Sobre esse tema, assinale a alternativa correta e as possíveis alterações legislativas nesse procedimento:

A) A ação de nunciação de obra nova é procedimento especial do Código de Processo Civil de 2015.

B) A ação de nunciação de obra nova não deve sofrer, atualmente, mudança de terminologia e tramita pelo procedimento especial.

C) O objetivo principal é reformular ou demolir a obra; a suspensão é mero pedido liminar no início da ação.

D) A ação de nunciação de obra nova também pode ser ajuizada para a obra que já tiver sido finalizada.

E) O prazo para ingressar com a nunciação é de até um ano e um dia a contar da conclusão da obra.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Características do concreto armado

Sabe-se que o controle adequado da retração é fundamental no projeto e na construção de estruturas de concreto para evitar problemas como fissuração e para garantir a integridade da estrutura ao longo do tempo.

Marque a alternativa correta a respeito desse fenômeno.

A) A retração química pode levar à formação de produtos de hidratação que ocupam mais espaço do que os materiais originais.

B) A retração plástica ocorre após o endurecimento do concreto e está relacionada à perda contínua de umidade.

C) A retração por secagem ocorre durante o estado fresco do concreto, enquanto ele ainda está sendo moldado e antes de começar a endurecer.

D) A retração térmica ocorre devido a reações químicas dentro do concreto, causando expansão especialmente em estruturas expostas a condições ambientais extremas.

E) A retração por secagem é comum em superfícies de concreto expostas ao Sol ou ao vento durante a fase de cura, ou seja, no seu processo de endurecimento.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Topografia

Cálculo de declive entre estacas de um projeto rodoviário

Ano: 2019 Banca: IBADE Órgão: Prefeitura de Jaru - RO Prova: IBADE - 2019 - Prefeitura de Jaru - RO - Engenheiro Civil

Em um projeto rodoviário, com estacas a cada 20 m, a estaca E79+6m está na cota 112,7 m e a estaca E84+6m está na cota 102,7 m. O declive entre essas estacas é:

A) 5%

B) 10%

C) 15%

D) 20%

E) 25%
Verificar Resposta Estudar Cards Todas as Questões

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: 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á 51 usuários muito felizes estudando em nosso site.