Você está aqui: Java ::: Classes e Componentes ::: JTable |
|
Ordenar (classificar) os dados de uma JTable clicando nos títulos das colunasQuantidade de visualizações: 9758 vezes |
|
// Este exemplo usa uma classe chamada TableSorter.java // procure o código completo para ela nesta mesma seção de dicas import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; import javax.swing.event.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma tabela simples"); // constrói a tabela TableSorter sorter = new TableSorter(new ModeloTabela()); JTable tabela = new JTable(sorter); sorter.setTableHeader(tabela.getTableHeader()); tabela.getTableHeader().setToolTipText( "Clique para classificar; Control-Click para classificação secundária"); 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 ModeloTabela extends AbstractTableModel { // colunas da tabela private String[] colunas = {"Cidade", "Estado", "Habitantes"}; // conteúdo da tabela private 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"} }; public int getColumnCount(){ return colunas.length; } public int getRowCount(){ return conteudo.length; } public String getColumnName(int col){ return colunas[col]; } public Object getValueAt(int row, int col){ return conteudo[row][col]; } } |
|
Link para compartilhar na Internet ou com seus amigos: | |
PHP ::: Dicas & Truques ::: Formulários |
Como obter o valor do item selecionado em um element HTML select (menu de lista) de seleção única usando PHPQuantidade de visualizações: 21027 vezes |
Os controles do tipo combobox ou select da linguagem HTML são úteis quando queremos fornecer uma lista de itens a partir da qual o usuário poderá selecionar apenas um ítem (ou vários itens, no caso de uma lista de seleção múltipla. Nesta dica mostrarei como usar PHP para obter o item que o usuário selecionou. Veja o código completo abaixo. Vamos começar com a página HTML que contém o elemento <select>: <form name="cadastro" method="post" action="testes.php"> <b>Escolha sua linguagem favorita:</b><br> <select name="linguagem"> <option value="Java" selected>Java</option> <option value="C++">C++</option> <option value="Python">Python</option> <option value="Delphi">Delphi</option> </select> <input type="submit" value="Enviar!"> </form> Agora, para obter o valor do item selecionado podemos usar o seguinte código PHP: <? // Obtém o valor selecionado $selecionada = $_POST["linguagem"]; // Exibe o resultado echo "Sua linguagem favorita é: " . $selecionada; ?> Quando você abrir a página HTML, selecionar um item e clicar o botão Enviar, você verá o seguinte resultado na página PHP: Sua linguagem favorita é: Delphi Esta dica foi revisada no PHP 8. |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como usar a função ReverseString() do Delphi para inverter o texto de uma palavra ou frase em Delphi - Invertendo o conteúdo de uma string usando DelphiQuantidade de visualizações: 25396 vezes |
Em algumas situações precisamos inverter o conteúdo de uma string, ou seja, alterar a ordem de seus caracteres de forma que a string fique de trás para frente. Em Delphi isso pode ser feito com o auxílio da função ReverseString(). Esta função recebe uma string e devolve outra string invertida. Veja um exemplo: procedure TForm1.Button1Click(Sender: TObject); var nome: string; // declara uma variável do tipo string begin nome := 'Osmar J. Silva'; // vamos inverter o conteúdo da string nome := ReverseString(nome); // vamos exibir o resultado ShowMessage(nome); end; Não se esqueça de adicionar a unit StrUtils na cláusula uses de seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Revit C# ::: Dicas & Truques ::: Tratamento de Erros |
Como corrigir o erro OperationCanceledException em macros e add-ins do Revit C# APIQuantidade de visualizações: 90 vezes |
Nesta dica mostrarei como podemos tratar a exceção OperationCanceledException em macros e plug-ins feitos para o Revit usando a Revit C# API. Esta exceção está no namespace Autodesk.Revit.Exceptions e deve ser declarada por seu nome completo, para não ser confundida com System.OperationCanceledException. O erro OperationCanceledException ocorre quando uma operação é cancelada de forma inesperada. Por exemplo, no código abaixo nós pedimos para o usuário selecionar um grupo e, em seguida, informar um ponto na área de desenho do Revit para que o grupo seja copiado e colocado no ponto indicado. Se o usuário clicar com o botão direito ou pressionar Esc, a operação é cancelada automaticamente. O tratamento da exceção OperationCanceledException nos permite reagir a isso, indicando ao usuário o melhor caminho a ser seguido. O código apresentado aqui já foi visto em dicas e truques sobre a criação e manipulação de grupos de elementos no Revit usando a Revit C# API. No entanto, no código apresentado eu não fiz o tratamento de exceções. Veja o código Revit C# API completo para o exemplo: using System; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.DB.Structure; using Autodesk.Revit.UI.Selection; using System.Collections.Generic; using System.Linq; namespace Estudos { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes. TransactionMode.Manual)] [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")] public partial class ThisApplication { private void Module_Startup(object sender, EventArgs e) { // vamos obter uma referência ao Document ativo Document doc = this.ActiveUIDocument.Document; // Vamos definir um objeto Reference para guardar // o elemento selecionado pelo usuário Reference ref_selecionado = null; // pedimos para o usuário selecionar um grupo Selection selecao = this.ActiveUIDocument.Selection; try { ref_selecionado = selecao.PickObject(ObjectType.Element, "Selecione um grupo"); Element elem = doc.GetElement(ref_selecionado); Group group = elem as Group; // vamos pedir para o usuário selecionar um ponto na área de // desenho do Revit XYZ ponto = selecao.PickPoint( "Selecione um ponto para posicionar o grupo"); // criamos uma nova transação e posicionamos a cópia do // grupo nas coordenadas indicadas pelo usuário Transaction transacao = new Transaction(doc); transacao.Start("Copiar Grupo no Revit"); doc.Create.PlaceGroup(ponto, group.GroupType); transacao.Commit(); // mostramos o resultado TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso."); } // Se o usuário clicar com o botão direito ou pressionar Esc catch (Autodesk.Revit.Exceptions.OperationCanceledException ex) { TaskDialog.Show("Aviso", "Erro: Operação cancelada pelo usuário"); } catch (Exception ex) { TaskDialog.Show("Aviso", "Erro: " + ex.Message); } } private void Module_Shutdown(object sender, EventArgs e) { // para fazer alguma limpeza de memória ou algo assim } #region Revit Macros generated code private void InternalStartup() { this.Startup += new System.EventHandler(Module_Startup); this.Shutdown += new System.EventHandler(Module_Shutdown); } #endregion } } Se o usuário cancelar a operação, ou seja, não selecionar nenhum grupo (talvez pressionando a tecla Esc), o código reagirá e mostrará a mensagem: Erro: The user aborted the pick operation. Se, em vez de selecionar um grupo, o usuário selecionar um outro elemento, então a mensagem de erro será: Erro: Referência de objeto não definida para uma instância de um objeto. |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de C++ - Escreva uma função C++ que recebe três números inteiros e retorna o menor delesQuantidade de visualizações: 296 vezes |
Pergunta/Tarefa: Escreva um programa C++ que contenha uma função, método ou procedimento que recebe três números inteiros e retorne o menor deles como um inteiro. Seu método não deve produzir nenhuma saída, apenas retornar o menor número entre os três argumentos fornecidos. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 10 Informe o terceiro número: 7 O menor número é: 7 Veja a resolução comentada deste exercício em C++: #include <iostream> #include <algorithm> using namespace std; // função que recebe três números e retorna o menor deles int menor(int a, int b, int c){ return min(min(a, b), c); } // função principal do programa int main(int argc, char *argv[]){ int n1, n2, n3, menor_numero; // vamos pedir para o usuário informar três // números inteiros cout << "Informe o primeiro número: "; cin >> n1; cout << "Informe o segundo número: "; cin >> n2; cout << "Informe o terceiro número: "; cin >> n3; // agora vamos calcular o menor número menor_numero = menor(n1, n2, n3); // e mostramos o resultado cout << "O menor numero é: " << menor_numero << endl; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
PHP ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Apostila de PHP - Como criar suas próprias funções em PHPQuantidade de visualizações: 30809 vezes |
Uma função é um bloco de código que executa uma determinada tarefa, possivelmente baseado em um conjuntos de valores fornecidos, ou parâmetros, e possivelmente retornando um único valor. Funções permitem a melhora na leitura do código e correção de bugs, visto que blocos de códigos bem testados podem ser reutilizados inúmeras vezes em seus programas. Antes de continuarmos é bom estar ciente dos diferentes nomes que as linguagens de programação adotam quando o assunto é função. Em Java, funções são chamadas de métodos. Em Delphi, temos funções (function) e procedimentos (procedure). Se uma função em Delphi retorna um valor, ela é chamada de function. Se nenhum valor é retornado, ela é chamada de procedure. Em PHP o nome é função (function) mesmo, não importando se valores são retornados ou não. Veja um exemplo onde criamos uma função que apenas escreve na página: <? // define a função function escrever(){ echo "Observe este texto"; } // chama a função escrever(); ?> Podemos estender este exemplo e fornecer à função o texto que deverá ser escrito. Veja: <? // define a função function escrever($texto){ echo $texto; } // chama a função escrever("Observe este texto"); ?> Veja que agora a função possui parâmetros, neste caso a variável local $texto. Assim, ao efetuarmos a chamada nós podemos fornecer um valor (um argumento) a esta função. Vamos progredir escrevendo uma função que soma dois valores: <? // define a função function somar($valor1, $valor2){ echo "A soma é: " . ($valor1 + $valor2); } // chama a função somar(3, 5); ?> Para finalizar, vamos escrever uma função que retorna um valor. Veja: <? // define a função function somar($valor1, $valor2){ return ($valor1 + $valor2); } // chama a função $soma = somar(3, 5); echo "O resultado é: " . $soma; ?> Observe o uso da palavra-chave return para definirmos o valor que será retornado pela função. |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
wxWidgets - Como usar a classe wxFrame para criar a janela principal de suas aplicações C++ wxWidgets |
Códigos Fonte |
Software 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 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 |