![]() |
|
||||
|
|||||
Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Java ::: Coleções (Collections) ::: ArrayList |
Como adicionar todos os elementos de uma ArrayList ou coleção à uma outra ArrayList do Java usando o método addAll()Quantidade de visualizações: 15849 vezes |
Em algumas situações pode ser necessário adicionar todos os elementos de uma ArrayList ou outra coleção a uma determinada ArrayList já existente. Isso pode ser feito por meio do uso do método addAll() da classe ArrayList. Na versão 1.5 do Java, este método possui duas assinaturas. Veja a primeira:public boolean addAll(Collection<? extends E> c) Aqui nós podemos adicionar à uma ArrayList existente todos os elementos de uma determinada coleção, desde que, é claro, esta coleção implemente ou descenda de alguma classe que implemente a interface Collection. Note também o uso de genéricos na coleção a ser fornecida como argumento. É importante observar que, se passarmos uma coleção de tipos diferentes daquela na qual estamos chamando o método addAll() teremos um erro de compilação. Veja um exemplo no qual adicionamos todos os elementos de uma ArrayList no final de outra:
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// cria uma segunda ArrayList que conterá mais strings
ArrayList<String> nomes2 = new ArrayList<String>();
// adiciona itens na primeira lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
// adiciona itens na segunda lista
nomes2.add("Osmar");
nomes2.add("Zacarias");
// vamos adicionar os elementos da segunda lista
// no final da primeira lista
nomes.addAll(nomes2);
// vamos exibir o resultado
for(int i = 0; i < nomes.size(); i++){
System.out.println(nomes.get(i));
}
System.exit(0);
}
}
A segunda assinatura do método addAll() nos permite definir a posição no ArrayList alvo a partir da qual os elementos da coleção fonte serão adicionados. Veja: public boolean addAll(int index, Collection<? extends E> c) Eis um exemplo no qual inserimos os elementos de uma ArrayList a partir do segundo elemento da ArrayList alvo. Note que os itens existentes têm suas posições alteradas de forma a acomodar os novos elementos:
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// cria uma segunda ArrayList que conterá mais strings
ArrayList<String> nomes2 = new ArrayList<String>();
// adiciona itens na primeira lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
// adiciona itens na segunda lista
nomes2.add("Osmar");
nomes2.add("Zacarias");
// vamos adicionar os elementos da segunda lista
// a partir do segundo elemento da primeira lista
nomes.addAll(1, nomes2);
// vamos exibir o resultado
for(int i = 0; i < nomes.size(); i++){
System.out.println(nomes.get(i));
}
System.exit(0);
}
}
Como resultado da execução deste código nós teremos: Carlos Osmar Zacarias Maria Fernanda |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como retornar o item selecionado em uma ListBox do Delphi usando a propriedade ItemIndexQuantidade de visualizações: 20817 vezes |
O item selecionado em uma TListBox pode ser obtido fornecendo-se o índice do ítem selecionado como índice para a propriedade Items (do tipo TStrings) da ListBox. Veja como isso é feito no trecho de código abaixo:
procedure TForm1.Button1Click(Sender: TObject);
var
item_selecionado: String;
begin
// vamos obter o item selecionado na ListBox
item_selecionado := ListBox1.Items[ListBox1.ItemIndex];
// mostra o resultado
ShowMessage('O item selecionado é: ' + item_selecionado);
end;
Contudo, este código provocará uma exceção do tipo EStringListError com a mensagem "List index out of bonds(-1)" se nenhum item estiver selecionado na ListBox. Para evitar tal erro, certifique-se de verificar se algum item foi selecionado antes de tentar obtê-lo. Veja:
procedure TForm1.Button1Click(Sender: TObject);
var
item_selecionado: String;
begin
// vamos obter o item selecionado na ListBox
if ListBox1.ItemIndex > -1 then
begin
item_selecionado := ListBox1.Items[ListBox1.ItemIndex];
// mostra o resultado
ShowMessage('O item selecionado é: ' + item_selecionado);
end
else
ShowMessage('Nenhum item selecionado.');
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como definir ou retornar a cor de fundo de uma determinada coluna do TDBGrid do DelphiQuantidade de visualizações: 9699 vezes |
|
Em algumas situações gostaríamos de definir a cor de fundo de uma determinada coluna do DBGrid. Isso pode ser feito por meio da propriedade Color da classe TColumn. Em tempo de design a cor de fundo de um coluna pode ser definida clicando-se com o botão direito do DBGrid e escolhendo a opção Columns Editor. Em seguida clique na coluna desejada e ajuste sua propriedade Color no Object Inspector. Em tempo de execução podemos definir a cor de fundo para uma coluna usando o seguinte trecho de código: procedure TForm3.Button3Click(Sender: TObject); begin // vamos definir a cor de fundo para a primeira coluna DBGrid1.Columns[0].Color := Graphics.clYellow; end; Veja que eu defini a cor de fundo como sendo uma das constantes definidas na unit Graphics. Lembre-se de que também podemos fornecer um valor RGB. Veja agora um trecho de código que mostra como obter a cor de fundo da coluna:
procedure TForm3.Button3Click(Sender: TObject);
begin
// vamos obter a cor de fundo da primeira coluna
ShowMessage('A cor de fundo da coluna é: ' +
ColorToString(DBGrid1.Columns[0].Color));
end;
Ao executarmos este código temos uma mensagem parecida com: "A cor de fundo da coluna é: clSilver". Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Manipulação de imagens em Java - Como converter uma imagem JPG colorida para uma imagem na escala cinza (gray scale)Quantidade de visualizações: 12421 vezes |
Uma das formas mais comuns de se converter uma imagem colorida para uma imagem na escala cinza (grayscale) é desenhar a imagem colorida em um BufferedImage do tipo TYPE_BYTE_GRAY. Veja o resultado na imagem abaixo:![]() E agora o código completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;
public class Estudos extends JFrame{
private BufferedImage imagem;
private BufferedImage imagemCinza;
AreaImagem areaImagem;
public Estudos(){
super("Estudos Java");
Container c = getContentPane();
c.setLayout(new BorderLayout());
JButton btn = new JButton("Carregar Imagem");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser fc = new JFileChooser();
int res = fc.showOpenDialog(null);
if(res == JFileChooser.APPROVE_OPTION){
File arquivo = fc.getSelectedFile();
imagem = null;
try{
imagem = ImageIO.read(arquivo);
}
catch(IOException exc){
JOptionPane.showMessageDialog(null,
"Erro ao carregar a imagem: " +
exc.getMessage());
}
if(imagem != null){
areaImagem.imagem = imagem;
areaImagem.repaint();
}
}
}
}
);
JButton btn2 =
new JButton("Converter Escala Cinza");
btn2.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
converterEscalaCinza();
}
}
);
JPanel painel = new JPanel();
painel.setLayout(new FlowLayout());
painel.add(btn);
painel.add(btn2);
c.add(painel, BorderLayout.SOUTH);
// Cria a área de exibição da imagem
areaImagem = new AreaImagem();
c.add(areaImagem, BorderLayout.CENTER);
setSize(400, 300);
setVisible(true);
}
public void converterEscalaCinza(){
imagemCinza = new BufferedImage(
imagem.getWidth(), imagem.getHeight(),
BufferedImage.TYPE_BYTE_GRAY);
Graphics g = imagemCinza.getGraphics();
g.drawImage(imagem, 0, 0, null);
g.dispose();
areaImagem.imagem = imagemCinza;
areaImagem.repaint();
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// Sub-classe de JPanel para exibir a imagem
class AreaImagem extends JPanel{
public BufferedImage imagem;
public void paintComponent(Graphics g){
super.paintComponent(g);
// desenha a imagem no JPanel
g.drawImage(imagem, 0, 0, this);
}
}
|
C ::: Dicas & Truques ::: Matemática e Estatística |
Como usar a função modf() da linguagem C para separar um valor de ponto flutuante em suas partes inteira e fracionáriaQuantidade de visualizações: 8122 vezes |
Em algumas situações precisamos obter as partes inteira e fracionária de um valor de ponto flutuante. Para isso podemos usar a função modf(). Veja sua assinatura:double modf(double x, double * intpart); O parâmetro x é o valor de ponto flutuante cujas partes queremos separar e intpart é uma variável do tipo double que receberá a parte inteira do valor. O retorno da função é o valor fracionário. Vamos ver um exemplo? Veja como podemos quebrar o valor 34,27 em suas partes inteira e fracionária:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
double valor = 34.27;
// vamos separar o valor em suas partes inteira e fracionária
double inteira = 0.0, fracionaria = 0.0;
fracionaria = modf(valor, &inteira);
// vamos exibir o resultado
printf("Parte inteira: %f\n", inteira);
printf("Parte fracionaria: %f\n", fracionaria);
printf("\n\n");
system("pause");
return 0;
}
Ao executarmos este código teremos o seguinte resultado: Parte inteira: 34.000000 Parte fracionária: 0.270000 |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
|
jQuery - jQuery para iniciantes - Como obter o conteúdo de um elemento HTML usando a função html() do jQuery JavaScript - Como testar se ao menos um elemento de um array satisfaz uma condição em JavaScript usando a função some() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






