Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como adicionar um JPopupMenu a um JTextArea

Quantidade de visualizações: 9843 vezes
Neste exemplo mostrarei como é possível associar um JPopupMenu a um JTextArea. Dessa forma, quando clicarmos com o botão auxiliar na área de texto, nós teremos algumas opções de menu, tais como copiar, colar, selecionar tudo, etc.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para o exemplo:

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JTextArea textArea;
  JPopupMenu popup;
  JMenuItem selecionar; 
  
  public Estudos() {
    super("Uso de JPopupMenu em um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    textArea = new JTextArea(10, 20);
    JScrollPane scrollPane = new JScrollPane(textArea);
     
    textArea.addMouseListener(
        new MouseAdapter(){
            @Override
            public void mouseReleased(MouseEvent e){
              if(e.isPopupTrigger())
                popup.show(e.getComponent(), e.getX(),
                  e.getY());
            }
        }   
    );
     
    // cria o JPopupMenu
    popup = new JPopupMenu();
    selecionar = new JMenuItem("Selecionar Tudo");
    selecionar.addActionListener(
        new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent ev){
                textArea.requestFocus();
                textArea.selectAll();
            }
        }   
    );
     
    popup.add(selecionar);
    // fim menu
     
    c.add(scrollPane);
     
    setSize(350, 250);
    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:

Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como usar ponteiros na linguagem Delphi - Aprenda a usar ponteiros em Delphi

Quantidade de visualizações: 23320 vezes
O Delphi, assim como C e C++ permite o uso de ponteiros, uma das ferramentas mais poderosas de programação e presente em códigos mais elaborados, tais como estruturas de dados.

Para entender ponteiros, é preciso lembrarmos do conceito de variáveis. Uma variável, em determinados momentos, possui várias propriedades ou atributos, a saber, um nome, um valor e o tipo de dados que poderá ser armazenado na mesma. Uma variável possui também um endereço na memória do computador e o seu nome não é nada mais que um apelido para tal endereço. Ponteiros também possuem um nome, um valor e um tipo de dados. A diferença é que ponteiros, em vez de guardar valores tais como inteiros, strings, caracteres, etc, guardam o endereço de outras variáveis (ou o endereço de outros ponteiros, o que resulta em um ponteiro para um ponteiro). Assim, um ponteiro é uma forma indireta de se acessar o conteúdo de uma outra variável.

Veja, por exemplo, as seguintes declarações de variáveis:

var
  valor: integer;
  pvalor: ^integer;

Aqui nós temos uma variável valor do tipo Integer e uma variável pvalor que é um ponteiro para um Integer. Veja agora como atribuir valores a estas variáveis:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: integer;
  pvalor: ^integer;
begin
  // atribui um valor à variável valor
  valor := 20;

  // vamos atribuir à pvalor o endereço de valor
  pvalor := @valor;

  // vamos usar o ponteiro pvalor para alterar o
  // valor de valor
  pvalor^ := 30;

  // vamos obter o novo valor da variável valor
  ShowMessage('Valor de valor: ' + IntToStr(valor));
end;

Veja que usamos o operador @ para obtermos o endereço da variável valor e guardá-lo no ponteiro pvalor. Em seguida usamos o símbolo ^ para acessar o valor da variável para a qual o ponteiro está apontando. Este processo é chamado de desreferenciamento (dereferencing). Em resumo, o símbolo ^ pode ser usado de duas formas: na frente de um tipo de dados, para indicar que a variável está sendo declarada como ponteiro e após o nome de uma variável do tipo ponteiro para indicar que queremos acessar o valor da variável para a qual o ponteiro está apontando atualmente e não o valor do ponteiro, que seria simplesmente um valor inteiro representando um endereço de memória.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C# ::: Windows Forms ::: DataGridView

Como usar o controle DataGridView do C# Windows Forms

Quantidade de visualizações: 18529 vezes
A classe DataGridView permite a exibição de dados em formato tabular, ou seja, linhas e colunas de informação. Esta classe substitui a classe DataGrid, presente no Windows Forms 1.0, com a adição de novas funcionalidades. Veja sua posição na hierarquia de classes da plataforma .NET:

System.Object 
  System.MarshalByRefObject 
    System.ComponentModel.Component 
      System.Windows.Forms.Control 
        System.Windows.Forms.DataGridView


É possível usar um controle DataGridView para exibir dados com ou sem uma fonte de dados (data source). Sem a fonte de dados, podemos criar linhas e colunas que contém dados e adicioná-las diretamente ao DataGridView. Alternativamente, podemos definir valores para as propriedades DataSource e DataMember. Isso liga o DataGridView a uma fonte de dados e automaticamente já preenche suas linhas e colunas com os dados desejados.

O processo de incluir um DataGridView em seus formulários é muito simples. Basta localizar no Toolbox a seção Data. Clique no componente DataGridView e arraste-o para a posição desejada no formulário. Imediatamente você será perguntado se deseja informar a fonte de dados para o controle.

Veja um trecho de código no qual adicionamos três colunas e três linhas (com conteúdo) em um DataGridView sem fonte de dados:

private void button2_Click(object sender, EventArgs e){
  // vamos adicionar três colunas no DataGridView
  dataGridView1.Columns.Add("cidade", "Cidade");
  dataGridView1.Columns.Add("estado", "Estado");
  dataGridView1.Columns.Add("populacao", "População");

  // vamos adicionar três linhas
  dataGridView1.Rows.Add("Goiânia", "GO", "3.453,39");
  dataGridView1.Rows.Add("Cuiabá", "MT", "1.876,12");
  dataGridView1.Rows.Add("Curitiba", "PR", "5.346,98");
}



C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros)

Exercício Resolvido de C - Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos

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

Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos. Em seguida imprima a matrícula, o nome e a média de cada um deles.

Seu código deverá, obrigatoriamente, usar a estrutura abaixo para a representação de cada aluno:

// estrutura Aluno
typedef struct{
  int matricula;
  char nome[100];
  float nota1;
  float nota2;
} Aluno;
Sua saída deverá ser parecida com:

LEITURA DOS ALUNOS:

Matrícula do Aluno 1: 123
Nome do Aluno 1: OSMAR J SILVA
Nota 1 do Aluno 1: 8,5
Nota 2 do Aluno 1: 9,3
Matrícula do Aluno 2: 432
Nome do Aluno 2: FABIANA CASTRO
Nota 1 do Aluno 2: 9
Nota 2 do Aluno 2: 8,2

DADOS DOS ALUNOS:

DADOS DO ALUNO 1: 
Matrícula: 123
Nome: OSMAR J SILVA
Nota 1: 8,50
Nota 2: 9,30
Média: 8,90

DADOS DO ALUNO 2:
Matrícula: 432
Nome: FABIANA CASTRO
Nota 1: 9,00
Nota 2: 8,20
Média: 8,60
Resposta/Solução:

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

Código para alunos.c:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// estrutura Aluno
typedef struct{
  int matricula;
  char nome[100];
  float nota1;
  float nota2;
} Aluno;

// define a quantidade de alunos que serão lidos
#define QUANT_ALUNOS 2

int main(int argc, char *argv[]) {
  int i; // controle do laço
  Aluno alunos[QUANT_ALUNOS]; // vetor de alunos
	
  setlocale(LC_ALL,""); // para acentos do português
	
  printf("LEITURA DOS ALUNOS:\n\n");
	
  for(i = 0; i < QUANT_ALUNOS; i++){
    // vamos ler a matrícula do aluno
    printf("Matrícula do Aluno %d: ", (i + 1));
    scanf("%d", &alunos[i].matricula);
    fflush(stdin); // para o scanf não sair pulando o gets
    // agora o nome do aluno
    printf("Nome do Aluno %d: ", (i + 1));
    gets(alunos[i].nome);
    // vamos ler a primeira nota
    printf("Nota 1 do Aluno %d: ", (i + 1));
    scanf("%f", &alunos[i].nota1);
    // vamos ler a segunda nota
    printf("Nota 2 do Aluno %d: ", (i + 1));
    scanf("%f", &alunos[i].nota2);
  }

  // agora vamos mostrar os alunos lidos, com suas notas
  // e suas médias aritméticas
  printf("\nDADOS DOS ALUNOS:\n");
	
  for(i = 0; i < QUANT_ALUNOS; i++){
    printf("\nDADOS DO ALUNO %d:\n ", (i + 1));
    printf("Matrícula: %d\n", alunos[i].matricula);
    printf("Nome: %s\n", alunos[i].nome);
    printf("Nota 1: %.2f\n", alunos[i].nota1);
    printf("Nota 2: %0.2f\n", alunos[i].nota2);
    printf("Média: %.2f\n", (alunos[i].nota1 + alunos[i].nota2) / 2);
  }
	
  printf("\n\n");
  system("pause");
  return 0;
}



Python ::: Topografia e Geoprocessamento ::: Passos Iniciais

Como converter graus, minutos e segundos para graus decimais em Python

Quantidade de visualizações: 765 vezes
Em algumas situações, principalmente em cálculos da Engenharia Civil e Topografia, nós precisamos converter graus, minutos e segundos para graus decimais. É comum chamarmos graus, minutos e segundos de DMS ou GMS, enquanto os graus decimais são chamados de UTM.

Nesta dica veremos como converter 85º 42' 13.75'' para graus decimais. A fórmula que usaremos é a seguinte:

\[\text{Graus decimais} = \text{Graus} + \frac{\text{Minutos}}{60} + \frac{\text{Segundos}}{3600} \]

Veja agora o código Python completo que pede para o usuário informar os graus, os minutos e os segundos e mostra os graus decimais:

# função principal do programa
def main():
  # vamos pedir para o usuário informar os graus, minutos
  # e segundos
  graus = float(input("Informe os graus: "))
  minutos = float(input("Informe os minutos: "))
  segundos = float(input("Informe os segundos: "))
    
  # agora vamos calcular os graus decimais
  graus_decimais = graus + (minutos /  60.0) + \
    (segundos / 3600.0)
    
  # e agora mostramos o resultado
  print("Os graus decimais são: {0}".format(graus_decimais))
  
if __name__== "__main__":
  main()

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

Informe os graus: 85
Informe os minutos: 42
Informe os segundos: 13.75
Os graus decimais são: 85.70381944444445

Fique atento ao sinal. Se o valor em graus, minutos e segundos possuir os caracteres "W" ou "S", então o valor em graus decimais deverá levar o sinal de negativo.


AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE

Como criar uma linha no AutoCAD usando Autocad VBA e a função AddLine() do objeto ModelSpace

Quantidade de visualizações: 310 vezes
A função AddLine() do AutoCAD VBA nos permite desenhar uma linha mediante o fornecimento de um ponto inicial e um ponto final. Esta função é chamada a partir do objeto ModelSpace, que, por sua vez, está contido no objeto ThisDrawing.

A função AddLine() recebe dois valores do tipo Variant, ou seja, um vetor de três elementos do tipo double, e retorna um objeto Line.

Veja um código AutoCAD VBA completo no qual informamos as coordenadas x, y e z dos pontos inicial e final e desenhamos uma linha entre eles:

' Procedimento que permite desenhar uma linha entre dois pontos
Sub DesenharLinhaDoisPontos()
  ' vamos declarar o objeto Line
  Dim linha As AcadLine
  ' o ponto inicial
  Dim pontoInicial(0 To 2) As Double
  ' o ponto final
  Dim pontoFinal(0 To 2) As Double

  ' vamos definir as coordenadas dos dois pontos. Uma boa idéia
  ' seria pedir para o usuário informar os pontos. Em outras dicas
  ' do site essa idéia é explorada
  pontoInicial(0) = 0: pontoInicial(1) = 0: pontoInicial(2) = 0
  pontoFinal(0) = 350: pontoFinal(1) = 500: pontoFinal(2) = 0

  ' e agora desenhamos a linha
  Set linha = ThisDrawing.ModelSpace.AddLine(pontoInicial, pontoFinal)
  ' e damos uma Zoom All na área de desenho
  ZoomAll
End Sub

Ao executar este código AutoCAD VBA nós teremos uma linha saindo do ponto x=0,y=0,z=0 e indo até o ponto x=350,y=500,z=0.


Veja mais Dicas e truques de AutoCAD VBA

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