Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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

Java Swing - Como criar e adicionar uma barra de menus à uma janela JFrame

Quantidade de visualizações: 18349 vezes
Nesta dica eu mostro como adicionar uma barra de menus à uma janela JFrame do Java Swing. Observe que a barra de menus contém apenas um menu que, por sua vez, contém apenas um ítem de menu.

Construí este exemplo "na mão" mesmo, ou seja, não usei nenhum editor visual tal como aquele encontrado na IDE Netbeans. Esta abordagem é muito útil para entender todas as partes que forma uma aplicação Java Swing.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

import javax.swing.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Menus");
 
    // Cria a barra de menus
    JMenuBar barra = new JMenuBar();
    setJMenuBar(barra);
 
    // Cria um menu
    JMenu arquivo = new JMenu("Arquivo");
 
    // Cria um item de menu e o adiciona no menu
    JMenuItem fechar = new JMenuItem("Fechar");
    arquivo.add(fechar);
 
    // Adiciona o menu à barra de menus
    barra.add(arquivo);
 
    setSize(300, 150);
    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 ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar o tamanho de um array em Java usando a propriedade length do objeto Array

Quantidade de visualizações: 11171 vezes
Nesta dica mostrarei como usar a propriedade length de um vetor (array de uma linha e várias colunas) para retornar a quantidade de elementos que ele possui. Este retorno é um número inteiro.

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // cria um vetor de cinco elementos
    String[] pessoas = {"Fábio", "Fernanda", 
      "Francisco", "João", "Osmar"};
       
    // obtém o tamanho do vetor
    int quant = pessoas.length;
    System.out.println("Este array possui " 
      + quant + " elementos");
       
    System.exit(0);
  }
}

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

Este array possui 5 elementos

Este código foi revisado e testado no Java 8.


Java ::: Dicas & Truques ::: Data e Hora

Como exibir a data e hora atual na linguagem Java usando um objeto Date e seu método toString()

Quantidade de visualizações: 198 vezes
Nesta dica mostrarei como criar um novo objeto da classe Date, do pacote java.util, e usar seu método toString() para exibir a data e hora atual no formato "dia da semana/mês/dia do mês"...etc.

Veja o código completo abaixo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

import java.util.Date;
 
public class Exemplo{
    public static void main(String args[]){
       Date data = new Date(); 
       System.out.println(data.toString()); 
    }
}

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

Mon Mar 08 22:13:15 BRT 2019


Java ::: Aplicativos Completos ::: Fontes

Como criar um visualizador de fontes em Java Swing - Código fonte completo

Quantidade de visualizações: 10359 vezes
Código completo Java: Como escrever um visualizador de fontes em Java Swing

Nesta dica eu mostro o código completo para uma aplicação GUI usado Java Swing e que permite visualizar as fontes instaladas no sistema. Ao clicar em uma das fontes exibidas em uma JList, o texto da JLabel é formatado de acordo com a fonte escolhida.

Note que montei toda a GUI em código mesmo, ou seja, sem usar o editor visual do Netbeans ou outra IDE. Esse é um bom exercício para entender os elementos que compõem interfaces gráficas do Java Swing.

Eis o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
 
public class Estudos extends JFrame
    implements ListSelectionListener{
  JLabel label = new JLabel("Observe este texto");  
 
  public Estudos(){
    super("Visualizados de Fontes");
     
    String[] fontNames; // nomes das fontes
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    fontNames = 
      GraphicsEnvironment.getLocalGraphicsEnvironment().
      getAvailableFontFamilyNames();
    Vector fonts = new Vector();
 
    for(int i = 0; i < fontNames.length; i++){
      fonts.add(new Font(fontNames[i], Font.PLAIN, 16));
    }    
 
    JList fontList = new JList(fonts);
    fontList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    fontList.setCellRenderer(new FontCellRenderer());
    JScrollPane scrollPane = new JScrollPane(fontList);
 
    JPanel p = new JPanel();
    p.add(scrollPane);
    fontList.addListSelectionListener(this);
    getContentPane().add(p, "Center");
    getContentPane().add(label, "South");
 
    setSize(500, 250);
    setVisible(true);
  }
 
  @Override
  public void valueChanged(ListSelectionEvent evt){
    JList source = (JList) evt.getSource();
    Font font = (Font) source.getSelectedValue();
    label.setFont(font);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
 
// Classe personalizada que implementa ListCellRenderer 
class FontCellRenderer implements ListCellRenderer{
  @Override
  public Component getListCellRendererComponent(
    final JList list, final Object value, 
    final int index, final boolean isSelected,
    final boolean cellHasFocus){
     
    return new JPanel(){
      @Override
      public void paintComponent(Graphics g){
        super.paintComponent(g);
        Font font = (Font) value;
        String text = font.getFamily();
        FontMetrics fm = g.getFontMetrics(font);
        g.setColor(isSelected ? list.getSelectionBackground() 
          : list.getBackground());
        g.fillRect(0, 0, getWidth(), getHeight());
        g.setColor(isSelected ? list.getSelectionForeground() 
          : list.getForeground());
        g.setFont(font);
        g.drawString(text, 0, fm.getAscent());
      }
 
      @Override
      public Dimension getPreferredSize() {
        Font font = (Font) value;
        String text = font.getFamily();
        Graphics g = getGraphics();
        FontMetrics fm = g.getFontMetrics(font);
        return new Dimension(fm.stringWidth(text), fm.getHeight());
      }
    };
  }
}

Ao executá-lo você terá um resultado parecido com:




Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm

Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 A

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

Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp).

Sua saída deverá ser parecida com:

Informe a corrente: 10
Informe a tensão: 200
A resistência elétrica é: 20.0
Resposta/Solução:

Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão:

\[R = \frac{U}{I} \]

Onde:

R = Resistência elétrica (medida em ohms (&#937;)).
U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb).
I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo).

Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar a classe Scanner para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar os dados
    System.out.print("Informe a corrente: ");
    double corrente = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a tensão: ");
    double tensao = Double.parseDouble(entrada.nextLine());
    
    // agora vamos calcular a resistência
    double resistencia = tensao / corrente;
    
    // e mostramos o resultado
    System.out.println("A resistência elétrica é: " + resistencia);
  }
}



Java ::: Dicas & Truques ::: Formulários e Janelas

Java Swing - Como centralizar a janela JFrame ao abrir a aplicação Java Swing

Quantidade de visualizações: 20539 vezes
Em várias ocasiões nós gostaríamos de centralizar a janela JFrame, ou seja, a janela principal de nossa aplicação Java Swing ao abrir o programa. Para isso nós podemos usar o método setLocationRelativeTo() e fornecer a ele o valor null.

Veja como isso pode ser feito no código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

import java.awt.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    super("Uso da classe JFrame");
     
    setSize(350, 250);
    setVisible(true);
 
    // centraliza a janela    
    setLocationRelativeTo(null);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

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: 9011 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 para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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 ::: Formulários e Janelas

Como definir a cor de fundo para a janela JFrame de sua aplicação Java Swing

Quantidade de visualizações: 15771 vezes
Nesta dica mostrarei como é possível definir a cor de fundo para uma janela JFrame. O truque aqui é obter o painel de conteúdo da JFrame usando o método getContentPane() e, em seguida, usar o método setBackground() da classe Container fornecendo a cor desejada.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;

import java.awt.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    super("A classe JFrame");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    // Define a cor de fundo
    c.setBackground(Color.CYAN);
 
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística

Exercício Resolvido de Java - Escreva um programa Java que pede um número inteiro e informa se o número informado é um número de Armstrong

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

Um número é chamado de número de Armstrong quando a soma de cada um dos seus dígitos, elevado à quantidade de dígitos do número, equivale ao próprio número. Por exemplo, 153 e 93084 são números de Armstrong, já que:

153 = 13 + 53 + 33
93084 = 95 + 35 + 05 + 85 + 45

Escreva um programa Java que pede para o usuário informar um número inteiro e informa se o número informado é um número de Armstrong ou não. Seu código deve usar apenas os operadores matemáticos disponíveis na linguagem Java.

Sua saída deverá ser parecida com:

Informe um número inteiro: 153
O número informado é um número de Armstrong
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos{ 
  public static void main(String args[]){ 
    // para efetuar a leitura da entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar um número
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // o primeiro passo é obter a quantidade de dígitos que o número informado
    // possui
    int quant_digitos = 0;
    int temp = numero;
    while(temp != 0) {
      quant_digitos = quant_digitos + 1;
      temp = temp / 10;
    }
    
    // agora efetuamos o cálculo que verifica se o número é um número
    // de Armstrong ou não
    int resto, soma = 0;
    temp = numero;
    while(temp > 0){
      resto = temp % 10;
      soma = soma + (int)(Math.pow(resto, quant_digitos));
      temp = temp / 10;
    }

    if(soma == numero){
      System.out.println("O número informado é um número de Armstrong");
    }
    else{
      System.out.println("O número informado não é um número de Armstrong");
    }
  } 
}



Vamos testar seus conhecimentos em Python

Qual declaração de variável vai provocar um erro em Python?

A) minhaNota = 4.65

B) minha_nota = 4.65

C) Minha_nota = 4.65

D) minha-nota = 4.65

E) MinhaNota = 4.65
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Madeiras

A densidade da madeira é uma das propriedades fundamentais em diversos processos industriais que envolvem seu processamento. Essa característica influencia diretamente uma variedade de aspectos, desde a seleção da matéria-prima adequada até a determinação das condições de processamento e a aplicação dos produtos finais.

Sobre essa propriedade da madeira, assinale a opção correta.

A) A contração volumétrica da madeira é inversamente proporcional à perda de umidade, que está ligada à quantidade de água adsorvida nas paredes celulares.

B) As madeiras mais pesadas contêm maior quantidade de vazios que as madeiras mais leves, pois a perda de água das paredes celulares ocorreu abaixo do ponto de saturação das fibras.

C) A quantidade e a disposição de elementos anatômicos da madeira, como raios, microfibrilas e elementos de vasos, não influenciam as variações da densidade dentro de uma mesma árvore.

D) As madeiras de alta densidade têm proporcionalmente paredes celulares mais espessas e maior volume de lume e, consequentemente, menores valores de inchamento e de contração.

E) A contração volumétrica da madeira é resultante das contrações axial, tangencial, radial e decorrem da perda de umidade.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Pilares centrais: dimensionamento e detalhes construtivos

Quando se calcula um pilar central, deve-se ater para sua esbeltez, que influenciará diretamente o comportamento sobre alguns parâmetros utilizados para calcular a esbeltez. Sobre essa afirmação, pode-se dizer que:

A) o cálculo da excentricidade mínima não influencia a comparação de esbeltez.

B) o parâmetro &#945;b é uma relação entre a vinculação do pilar.

C) o pilar central não é submetido a esforços de segunda ordem, pois a carga está centralizada.

D) quando se calcula um pilar, deve-se considerar a excentricidade sempre em um sentido.

E) o parâmetro &#945;b é um parâmetro que não influencia a comparação da esbeltez com a esbeltez limite.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares de extremidade

Pilares são elementos verticais cujo principal esforço normal solicitante é o de compressão. Eles podem ser classificados de acordo com sua posição na estrutura.

Sobre os pilares de extremidade, assinale a alternativa correta.

A) Os pilares de extremidade se situam no canto da edificação e têm descontinuidade nas duas direções.

B) Nos pilares de extremidade, atuam forças normais e momentos que geram o esforço de flexão normal composta.

C) Todos os pilares de extremidade são classificados como esbeltos, pois seu índice de esbeltez é acima de 200.

D) Para esses pilares, não se recomenda usar o momento mínimo para determinar as solicitações atuantes.

E) Esses pilares são submetidos à compressão pura, pois não têm excentricidades iniciais.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual declaração de variável vai provocar um erro em Python?

A) minhaNota = 4.65

B) minha_nota = 4.65

C) Minha_nota = 4.65

D) minha-nota = 4.65

E) MinhaNota = 4.65
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

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

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