Java ::: Pacote java.awt ::: Graphics |
Como desenhar texto na superfície de uma JLabel do Java Swing usando o método drawString() da classe GraphicsQuantidade de visualizações: 12552 vezes |
A classe Graphics possui um método chamado drawString() que é usado para desenhar uma string na superfície de um componente. Veja a assinatura deste método:public abstract void drawString(String str, int x,int y) Como podemos ver, só precisamos fornecer a string a ser desenhada, a coordenada x e a coordenada y. Estas coordenadas são obtidas a partir do canto superior esquerdo do componente no qual desenharemos. O trecho de código abaixo mostra como desenhar a string "Arquivo de Códigos" em um JLabel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar uma string");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
// Desenha uma string no JLabel
Graphics graphics = label.getGraphics();
graphics.drawString("Arquivo de Códigos",
20, 50);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um arquivo em Java usando o método delete() da classe File - Curso de Java para iniciantesQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como podemos usar o método delete() da classe File da linguagem Java para excluir um arquivo no computador local. Se o arquivo for excluído com sucesso, o retorna será true, e false em caso contrário. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.io.*;
public class Estudos{
public static void main(String[] args){
File arquivo = new File("C:\\estudos_java\\osmar.txt");
if(arquivo.delete()){
System.out.println("Arquivo excluido com sucesso.");
}
else{
System.out.println("Não foi possivel excluir o arquivo");
}
}
}
Ao executar este código nós teremos o seguinte resultado: Arquivo excluido com sucesso. |
Java ::: Classes e Componentes ::: JList |
Java Swing - Como obter a quantidade de itens em uma JList usando o método getSize() da interface ListModelQuantidade de visualizações: 10097 vezes |
|
Nesta dica mostrarei como podemos obter a quantidade de itens em uma JList por meio de uma chamada ao método getSize() da interface ListModel, responsável por gerenciar os itens da JList. Note que escrevi o exemplo abaixo sem usar nenhum editor GUI visual. Dessa forma fica mais fácil entender todas as partes que compoem uma aplicação Java Swing. Veja o código completo:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JList lista;
public Estudos() {
super("A classe JList");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria os itens da lista
String nomes[] = {"Carlos", "Marcelo", "Fabiana",
"Carolina", "Osmar"};
// Cria a JList
lista = new JList(nomes);
// Um botão que permite obter a quantidade de itens
JButton btn = new JButton("Quantidade de Itens");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
int quant = lista.getModel().getSize();
JOptionPane.showMessageDialog(null,
"A lista contém " + quant + " itens");
}
}
);
// Adiciona a lista à janela
c.add(new JScrollPane(lista));
// Adiciona o botão à janela
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
C# ::: Threads ::: Thread |
Como usar a classe Thread para criar threads em seus programas C#Quantidade de visualizações: 12651 vezes |
A classe Thread permite criar e controlar uma thread, além de definir sua prioridade e obter seu status. Veja a posição desta classe na hierarquia de classes da plataforma .NET:
System.Object
System.Runtime.ConstrainedExecution.CriticalFinalizerObject
System.Threading.Thread
Um processo pode criar uma ou mais threads para executar parte do código do programa associado a tal processo. Usamos um delegate ThreadStart ou um delegate ParameterizedThreadStart para especificar o código do programa que será executado pela thread. O delegate ParameterizedThreadStart nos permite passar dados para as funções a serem executadas pela thread. Durante seu ciclo de vida, uma thread está sempre em um ou mais dos estados definidos pela enumeração ThreadState. Um nível de prioridade de agendamento, como definido na enumeração ThreadPriority, pode ser requisitado para a thread, mas, este comportamento nem sempre é garantido pelo sistema operacional. O método GetHashCode() fornece identificação para threads gerenciadas. Durante o ciclo de vida de uma thread, seu código de identificação não colidirá com os códigos das demais threads, independente do domínio da aplicação a partir do qual obtemos tal valor. Veja um trecho de código no qual criamos uma thread e a agendamos para execução paralela com a thread principal da aplicação. Note como os valores dos dois laços são exibidos de forma compartilhada pelas duas threads, ou seja, um thread exibe alguns valores e pára, para permitir que a outra faça parte do seu trabalho:
class Program{
static void Main(string[] args){
// using using System.Threading;
// vamos criar uma nova instância da clase Thread
// e fornecer o método que será executado
Thread thread = new Thread(contar);
// vamos agendar a thread para futura execução
thread.Start();
// agora vamos contar na thread principal
for (int i = 0; i <= 20; i++){
Console.Write("#" + Thread.CurrentThread.GetHashCode()
+ ": " + i + ", ");
}
Console.Write("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
// método que será chamado pela thread
static void contar(){
for (int i = 0; i <= 20; i++){
Console.Write("#" + Thread.CurrentThread.GetHashCode()
+ ": " + i + ", ");
}
}
}
Aqui eu usei a sintáxe de criação de objetos da classe Thread que cria uma instância de ThreadStart nos bastidores, ou seja, forneci apenas o método a ser executado pela nova thread. Note também que uma chamada ao método Start() da thread não faz com que a thread seja executada imediatamente. Este método apenas torna a thread elegível para execução, ou seja, no estado "pronta" (Running). É o sistema operacional que determina quando a mesma será executada. |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como listar todo o conteúdo de um diretório usando a função listFiles() da classe File do Java Delphi - Delphi para iniciantes - Como criar uma data e hora em Delphi usando a função EncodeDateTime() JavaScript - Formulários HTML - Como marcar ou desmarcar todas as checkboxes de um formulário HTML de uma só vez usando JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
|
VB.NET - Como usar o laço While em VB.NET |
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 |





