![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Classes e Componentes ::: JComboBox |
Como classificar os itens de um JComboBox do Java Swing em ordem alfabéticaQuantidade de visualizações: 10690 vezes |
Este exemplo mostra como ordenar os itens de um JComboBox do Java Swing. A melhor forma de fazer isso é ordenando o array de strings antes de passá-lo para o construtor da classe JComboBox. Se novos itens forem inseridos em tempo de execução, a melhor saída é extender a classe DefaultComboBoxModel e fornecer tal funcionalidade. Veja o código Java completo para o exemplo: package estudos; import java.awt.*; import javax.swing.*; import java.util.*; public class Estudos extends JFrame{ public Estudos(){ super("A classe JComboBox"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria o array que armazenará os itens do // combo box String[] nomes = {"Osmar", "Cristina", "Antônio", "Marcela", "Joaquim"}; // ordena os itens Arrays.sort(nomes); // Cria o JComboBox JComboBox combo = new JComboBox(nomes); // Adiciona o JComboBox à janela c.add(combo); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de C++ - Como calcular e exibir os 50 primeiros números primos em C++Quantidade de visualizações: 9905 vezes |
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os 50 primeiros números primos. A saída do programa deverá ser parecida com: 50 primeiros números primos: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 Veja a resolução comentada deste exercício em C++: #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]){ int quantidade = 50; // quantidade de números primos int contador = 0; // quantidade de números primos encontrados int numero = 0; // inteiro inicial // Lembre-se! O número 1 não é primo cout << quantidade << " primeiros numeros primos:\n" << endl; // laço while será executado até encontrar os 50 primeiros números primos while(contador < quantidade){ bool primo = true; // se o valor de i for 7, a variável j do laço contará // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o // módulo de 7 por qualquer um dos valores neste intervalo // for igual a 0, então o número não é primo for(int j = 2; j <= (numero / 2); j++){ if(numero % j == 0){ primo = false; // não é primo break; } } if((primo) && (numero > 1)){ cout << setw(6) << numero; contador++; // encontramos um número primo if(contador % 10 == 0){ cout << "\n"; } } numero++; } cout << "\n\n"; system("PAUSE"); return EXIT_SUCCESS; } |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elasQuantidade de visualizações: 228 vezes |
Nesta dica eu mostro como é possível aplicar uma cor diferente às células individuais de uma JTable ao passar o mouse em cima delas. O efeito visual é muito interessante, principalmente quando temos uma JTable com muitos dados. No exemplo eu construí a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual. É um ótimo exercício para realmente entender as partes que compoem uma aplicação Java Swing. Veja o código Java completo: import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; import javax.swing.event.*; public class Estudos extends JFrame{ int linha, coluna; public Estudos(){ super("JTable"); // colunas da tabela String[] colunas = {"Cidade", "Estado", "Habitantes"}; // conteúdo da tabela Object[][] conteudo = { {"Goiânia", "GO", "43.023.432"}, {"São Paulo", "SP", "5.343.234"}, {"Rio de Janeiro", "RJ", "6.434.212"}, {"Jussara", "GO", "87.454"}, {"Barra do Garças", "MT", "64.344"} }; // constrói a tabela final JTable tabela = new JTable(conteudo, colunas); tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); class CellListener extends MouseMotionAdapter{ public void mouseMoved(MouseEvent e){ JTable tb = (JTable)e.getSource(); linha = tb.rowAtPoint(e.getPoint()); coluna = tb.columnAtPoint(e.getPoint()); tb.repaint(); } } class ColorirCelula extends JLabel implements TableCellRenderer{ public ColorirCelula(){ setOpaque(true); } public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ if(row == linha && column == coluna){ this.setBackground(Color.yellow); } else{ this.setBackground(table.getBackground()); } this.setText(value.toString()); return this; } } Container c = getContentPane(); c.setLayout(new FlowLayout()); tabela.addMouseMotionListener(new CellListener()); tabela.setDefaultRenderer(Object.class, new ColorirCelula()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executarmos esta aplicação Java Swing nós teremos o seguinte resultado: ![]() |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Java para iniciantes - Como pesquisar uma substring em uma string e retornar sua posição inicialQuantidade de visualizações: 452 vezes |
Nesta dica mostrarei como é possível usar o método indexOf() da classe String para obter o índice (começando em 0) da primeira ocorrência de uma substring em uma string. Se a substring não for encontrada, o retorno será -1. Veja o código completo para o exemplo: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é muito bom"; System.out.println("Frase: " + frase); // verifica se a frase contém a palavra Java int res = frase.indexOf("Java"); if(res > 0){ System.out.println("A substring foi encontrada " + " na posicao (índice): " + res); } else{ System.out.println("A substring nao foi encontrada"); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Frase: Programar em Java é muito bom A substring foi encontrada na posicao (índice): 13 |
C++ ::: Dicas & Truques ::: Input e Output (Entrada e Saída) |
Como ler entrada do usuário em C++ usando a função global getline() da classe stringQuantidade de visualizações: 12802 vezes |
Nesta dica mostrarei como é possível usar a função global getline() da classe string da linguagem C++ para ler a entrada do usuário. Veja a assinatura que usaremos: istream& getline(istream& is, string& str); Esta função extrai os caracteres do fluxo de entrada (is) e os armazena na string fornecida como argumento (str). Veja o código completo: #include <iostream> using namespace std; int main(int argc, char *argv[]) { string nome; cout << "Por favor, informe o seu nome: "; getline(cin, nome); cout << "Seu nome é: " << nome << "\n\n"; system("PAUSE"); // pausa o programa return 0; } Ao executarmos este código nós teremos o seguinte resultado: Por favor, informe o seu nome: Osmar J. Silva Seu nome é: Osmar J. Silva Pressione qualquer tecla para continuar... |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila Java para iniciantes - Como usar o tipo de dados referência em seus códigos JavaQuantidade de visualizações: 11617 vezes |
O Java contém 8 tipos de dados primitivos e um tipo referência. No entanto, poucos livros dedicam exemplos a este último tipo. Vamos começar analisando o trecho de código abaixo:public class Estudos{ public static void main(String args[]){ String nome = "Osmar J. Silva"; System.out.println(nome); System.exit(0); } } Se observarmos este código, veremos que a variável nome não é um tipo primitivo e sim uma referência. Desta forma, qualquer variável ou constante que não seja do tipo primitivo é uma referência a um objeto de uma classe, interface, etc. Arrays não são tipos primitivos também. Assim, variáveis ou constantes que apontam para arrays (vetores e matrizes) também são referências. É importante entender bem a noção de referências, visto que é por meio delas que acessamos um determinado objeto na memória. Além disso, como objetos e arrays são sempre passados por referência aos métodos Java, fica fácil entender como várias referências podem apontar para o mesmo objeto ao mesmo tempo. E, caso você tenha esquecido, os tipos primitivos nunca são passados por referêcia aos métodos. Em vez disso, eles são passados por valor (o que quer dizer que uma alteração nos argumentos fornecidos ao métodos não altera a cópia original da variável). |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Arquivos e diretórios em PHP - Como ler o conteúdo de um arquivo uma linha de cada vez usando a função fgets() do PHPQuantidade de visualizações: 13807 vezes |
Este exemplo mostra como ler o conteúdo de um arquivo uma linha de cada vez usando a função fgets() da linguagem PHP. Observe como usamos a função rtrim() para retirar a quebra de linha do final da linha lida. Eis o código PHP completo para a dica: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $arquivo = fopen('dados.txt', 'r'); if(!$arquivo){ echo 'Não foi possível abrir o arquivo'; } else{ while(!feof($arquivo)){ $linha = fgets($arquivo); echo rtrim($linha) . "<br>"; } fclose($arquivo); } ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Esta é a primeira linha do arquivo Esta é a segunda linha do arquivo Esta é a terceira linha do arquivo Esta é a quarta linha do arquivo |
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila PHP para iniciantes - Como testar múltiplas condições usando a construção if...elseif...else da linguagem PHPQuantidade de visualizações: 9875 vezes |
A construção if...else (se...do contrário) pode ser extendida com o uso de elseif para testar múltiplas condições. Desta forma, você pode ter quantos blocos elseif (ou então se) você desejar. Veja o trecho de código a seguir:<?php $valor = 20; if($valor == 15){ echo "O valor é igual à 15"; } elseif($valor > 15){ echo "O valor é maior que 15"; } else{ echo "O valor é menor que 15"; } ?> Ao executar este código nós teremos o seguinte resultado: O valor é maior que 15 |
Delphi ::: Win32 API (Windows API) ::: Formulários e Janelas |
Como usar a função GetWindow() da API do Windows para pesquisar e retornar um handle para uma janela baseado em seu título completo ou parcial usando DelphiQuantidade de visualizações: 15147 vezes |
Em algumas situações nós precisamos pesquisar e retornar um handle para uma janela baseado em seu título completo ou parcial, ou seja, gostaríamos de encontrar uma janela que contenha a palavra "sexo". Isso pode ser feito com o auxílio da função GetWindow() da API do Windows. Veja: // função personalizada que permite encontrar uma janela // baseado em seu título function FindWindowByTitle(WindowTitle: string): Hwnd; var NextHandle: Hwnd; NextTitle: array[0..255] of char; begin // vamos obter a primeira janela NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST); while NextHandle > 0 do begin // vamos obter o título da janela GetWindowText(NextHandle, NextTitle, 256); // a janela contém o título que procuramos? if Pos(Uppercase(WindowTitle), UpperCase(String(NextTitle))) <> 0 then begin Result := NextHandle; Exit; end else // vamos tentar a próxima janela NextHandle := GetWindow(NextHandle, GW_HWNDNEXT); end; // não encontramos nada? vamos retornar um handle nulo Result := 0; end; procedure TForm1.Button1Click(Sender: TObject); var handle: hwnd; begin // vamos localizar e fechar a Calculadora do Windows // ou qualquer janela que contenha o texto "Calculadora" handle := FindWindowByTitle('Calculadora'); if handle <> 0 then // encontramos a janela? vamos fechá-la SendMessage(handle, WM_SYSCOMMAND, SC_CLOSE, 0) else ShowMessage('A janela pesquisada não foi encontrada'); end; Neste exemplo nós pesquisamos uma janela que contenha a palavra "Calculadora" em seu título. Se encontrada, nós a fechamos com o auxílio da função SendMessage() e a mensagem WM_SYSCOMMAND com o valor SC_CLOSE para o parâmetro wParam. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Ruby ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como retornar a versão do Ruby instalada na sua máquina usando ruby -v ou a constante RUBY_DESCRIPTIONQuantidade de visualizações: 9493 vezes |
Se você quiser saber a versão do Ruby instalada em seu computador, ou a versão do interpretador sendo usado no momento, basta abrir uma janela de comando e disparar o comando:ruby -v Você terá um resultado parecido com o seguinte: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32] Se você estiver na tela do Interactive Ruby, você pode simplesmente digitar RUBY_DESCRIPTION e pressionar Enter. O resultado será o mesmo exibido em uma janela de comando usando ruby -v. Podemos também usar a constante RUBY_DESCRIPTION dentro de um script Ruby. Veja: # Este exemplo mostra como obter a versão do Ruby # usando a constante RUBY_DESCRIPTION # guarda a versão em uma variável versao = RUBY_DESCRIPTION # mostra na tela puts "A versão do Ruby é: #{versao}" Ao executar este código Ruby nós teremos o seguinte resultado: A versão do Ruby é: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32] |
Nossas 20 dicas & truques de programação mais populares |
VB.NET - Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano JavaScript - Como usar objetos Set em seus códigos JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
C++ Builder - Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ Builder GNU Octave - Como calcular o comprimento da hipotenusa em GNU Octave dadas as medidas do cateto oposto e do cateto adjascente |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |