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
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Classes e Componentes ::: JTable

Como exibir um JComboBox nas células de uma JTable

Quantidade de visualizações: 11711 vezes
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;

public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
		
    // colunas da tabela
    String[] colunas = {"Nome", "Idade", "Sexo"};
		
    // conteúdo da tabela	
    Object[][] conteudo = {
        {"Osmar J. Silva", "32", "Masculino"},
        {"Maria Clara Gomes", "19", "Feminino"}
    };
        
    // constrói a tabela
    JTable tabela = new JTable(conteudo, colunas);
    
    String[] valores = new String[]{"Masculino", "Feminino"};
    
    TableColumn col = tabela.getColumnModel().getColumn(2);
    col.setCellEditor(new MyComboBoxEditor(valores));
    
    // comente se não quiser que o comboxbox apareça quando a
    // célula não estiver em modo de edição
    col.setCellRenderer(new ComboBoxRenderer(valores));
    
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
	
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
			
    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);
  }
}

class ComboBoxRenderer extends JComboBox implements TableCellRenderer {
  public ComboBoxRenderer(String[] items){
    super(items);
  }
    
  public Component getTableCellRendererComponent(JTable table, Object value,
                boolean isSelected, boolean hasFocus, int row, int column) {
    if (isSelected) {
      setForeground(table.getSelectionForeground());
      super.setBackground(table.getSelectionBackground());
    } 
    else {
      setForeground(table.getForeground());
      setBackground(table.getBackground());
    }
    
    setSelectedItem(value);
    return this;
  }
}

class MyComboBoxEditor extends DefaultCellEditor {
  public MyComboBoxEditor(String[] items) {
    super(new JComboBox(items));
  }
}



Link para compartilhar na Internet ou com seus amigos:

PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como testar se uma variável é do tipo array em PHP usando a função is_array()

Quantidade de visualizações: 11723 vezes
Em algumas situações nós precisamos verificar se uma determinada variável é do tipo array (vetor ou matriz). Em PHP esse procedimento pode ser feito com o auxílio da função is_array(), que recebe uma variável e retorna verdadeiro se ela é do tipo array e falso em caso contrário.

Veja o código PHP completo para o exemplo:

<?php
  // vamos criar um array de inteiros
  $valores = Array(5, 2, 7, 1);

  // vamos testar se a variável é do tipo array
  if(is_array($valores)){
    echo 'A variável $valores é do tipo array.';
  }
  else{
    echo 'A variável $valores NÃO é do tipo array.';
  }
?>

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

A variável $valores é do tipo array.


Node.js ::: Dicas & Truques ::: Arquivos e Diretórios

Como obter o diretório de instalação do Node.js - O diretório de trabalho do Node.js

Quantidade de visualizações: 1788 vezes
Em algumas situações nós gostaríamos de obter o diretório de instalação, ou diretório de trabalho do Node.js. Isso pode ser feito por meio da variável __dirname ou da função cwd() do objeto process. Tanto a variável quanto a função process.cwd() fazem parte do core do Node.js e não precisam ser importados.

Veja abaixo um exemplo de um aplicação funcional que mostra o nome do diretório de trabalho:

// importamos o módulo HTTP
var http = require("http");
  
http.createServer(function(request, response){
  // Aqui nós enviamos o cabeçalho HTTP, com a resposta
  // 200 (OK) e o content type text/plain
  response.writeHead(200, {'Content-Type': 'text/plain'});
      
  // Vamos obter e mostrar o diretório de trabalho do Node.js
  var diretorio = __dirname;
  // poderíamos também usar
  // var diretorio = process.cwd();
  response.write('O diretório de trabalho é: ' + diretorio + '\n');
  // fechamos a resposta HTTP
  response.end();
}).listen(8081); // o HTTP server vai ouvir na posta 8081
   
// Que tal uma mensagem no console?
console.log('O servidor está ouvindo em http://127.0.0.1:8081/');

Depois de executar o servidor, abra seu navegador no endereço http://127.0.0.1:8081 e você terá o seguinte resultado:

O diretório de trabalho é: c:\estudos_nodejs


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como remover os espaços em excesso de uma string e deixar apenas um espaço entre as palavras usando a função preg_replace() e expressões regulares do PHP

Quantidade de visualizações: 11474 vezes
Nesta dica mostrarei como é possível tirar proveito da função preg_replace() da linguagem PHP para retirar os espaços em excesso de uma frase ou texto. Note o uso da função trim() para remover também os espaços antes e depois da frase ou texto.

Veja o código completo para o exemplo:

<?php
  // uma frase com excesso de espaços 
  // vamos deixar apenas um espaço entre as palavras
  $frase = "   Gosto muito de   programar em    PHP  ";
  $frase2 = trim(preg_replace('/\s\s+/',' ', $frase));
  echo "Com espaços: " . $frase . "<br>";
  echo "Sem espaços: " . $frase2; 
?>

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

Com espaços:  Gosto muito de   programar em  PHP
Sem espaços: Gosto muito de programar em PHP


Pode ser necessário você olhar no código fonte da página HTML para visualizar melhor o resultado.


C++ ::: C++ para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C++ - Geometria Analítica e Álgebra Linear usando C++

Quantidade de visualizações: 1636 vezes
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0).

Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2:

\[\vec{v} = \left(7, 6\right)\]

Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D:



Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9.

Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6).

Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras:

\[a^2 = b^2 + c^2\]

Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira:

\[a = \sqrt{b^2 + c^2}\]

Passando para os valores x e y que já temos:

\[a = \sqrt{7^2 + 6^2}\]

Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final:

\[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\]

E aqui está o código C++ que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:

#include <string>
#include <iostream>
#include <math.h>
 
using namespace std;
  
int main(int argc, char *argv[]){
  float x, y, norma;
  // vamos ler os valores x e y
  cout << "Informe o valor de x: ";
  cin >> x;
  cout << "Informe o valor de y: ";
  cin >> y;
  
  // vamos calcular a norma do vetor
  norma = sqrt(pow(x, 2) + pow(y, 2));
    
  // mostra o resultado
  cout << "A norma do vetor é: " << norma; 
 
  cout << "\n\n";
  system("PAUSE");
  return 0;
}

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

Informe o valor de x: 7
Informe o valor de y: 6
A norma do vetor é: 9.219544457292887

Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo.


Python ::: Dicas & Truques ::: Arquivos e Diretórios

Como criar um diretório em Python usando a função mkdir() do módulo os

Quantidade de visualizações: 2796 vezes
Podemos usar a função mkdir() do módulo os da linguagem Python para criarmos diretórios. Em sua versão mais simples, este método pede somente o nome e caminho do diretório a ser criado. Se o caminho for omitido, o novo diretório será criado no diretório atual, ou seja, o diretório da aplicação Python.

Veja um exemplo no qual criamos um diretório chamado "app" no diretório "C:\estudos_python":

# importa o módulo os
import os

# método principal  
def main():
  # nome do diretório
  diretorio = "C:\\estudos_python\\app"

  # vamos criar o diretório
  os.mkdir(diretorio)

  # mostramos o resultado
  print('O diretório foi criado com sucesso.')

if __name__== "__main__":
  main()

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

c:\estudos_python>python estudos.py
O diretório foi criado com sucesso.

Note que um erro do tipo FileExistsError será exibido se o diretório já existir:

Traceback (most recent call last):
File "c:\estudos_python\estudos.py", line 16, in <module>
main()
File "c:\estudos_python\estudos.py", line 10, in main
os.mkdir(diretorio)
FileExistsError: [WinError 183] Não é possível criar um arquivo já existente: 'C:\\estudos_python\\app'

Uma forma de evitar este erro é verificar se o diretório já existe ou usar uma construção try...except. Veja:

# importa o módulo os
import os

# método principal  
def main():
  # nome do diretório
  diretorio = "C:\\estudos_python\\app"

  try:
    # vamos criar o diretório
    os.mkdir(diretorio)
    # mostramos o resultado
    print('O diretório foi criado com sucesso.')
  except os.error as error_msg:
    print("Houve um erro: %s" % str(error_msg))

if __name__== "__main__":
  main()

Execute o código novamente e veja como o tratamento de erro ficou mais elegante.


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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