quinta-feira, 16 de fevereiro de 2012

Programa que gera Programa JAVA

Estou analisando a possibilidade de disponibilizar os frameworks na internet

mas ainda não sei

vai ai os videos do framework funcionando


java facil, rápido e para iniciante

quinta-feira, 8 de dezembro de 2011

Agenda, Calendário JAVA

Bom comecei a mexer no Calendário dos posts anteriores e tive a necessidade de fazer uma agenda, marcando alguns eventos em datas

bom resolvi então fazer um calendário aonde poderia colocar em qualquer programa

Vou Disponibilizar a biblioteca

vamos la.. para usar a agenda é simples
basta adicionar a biblioteca no classpath do seu projeto e criar uma pasta/folder "calendario" na raiz do seu projeto.

Criar uma Janela como qualquer outra e colocar um JPanel no painel principal
e ao invés de colocar

painel = new JPanel();

colocar assim

painel = new PainelCalendario(85,70);

onde os dois parametros são a largura e a altura de cada dia, sendo assim é possível ter o calendário de qualquer tamanho.

Dois cliques no dia, é possível ver os eventos do dia e adicionar eventos. E fica salvo em .xml na pasta que foi criada "calendario"

Exemplo:


package teste;

import java.awt.Rectangle;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Teste extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel painel = null;

public Teste() {
super();
initialize();
}


private void initialize() {
this.setSize(613, 598);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Agenda");
this.setContentPane(getJContentPane());
this.setLocationRelativeTo(null);
}


private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getPainel(), null);
}
return jContentPane;
}

private JPanel getPainel() {
if (painel == null) {
painel = new PainelCalendario(85,70);
painel.setBounds(new Rectangle(0, 0, 596, 563));
}
return painel;
}


public static void main(String[] args) {
new Teste().setVisible(true);
}
}


segue o link para Baixar: http://guj.com.br/java/260342-agenda-de-eventos-para-colocar-em-seu-projeto#1358178

Retrospectiva 2011

Bom Galera, esse blog é mais destinado a post sobre programação do que com qualquer outra coisa
Mas, Porém, Contudo, todavia esse post é diferente, falarei sobre o que aconteceu em 2011

Bom, meu objetivo no inicio deste ano era me formar, terminar o último ano da faculdade, fazer um bom TCC (Trabalho de Conclusão de Curso) e encontrar uma pessoa bacana pra conhecer e quem sabe me relacionar.
Legal, fui em vários aniversários de amigos, aniversário de filho de amigos e talz.
Durante o curso nenhuma alteração houve,as aulas seguiam normal, e eu sempre junto com os amigos na faculdade, sendo eles (Claudio, Rafael, Leonardo, Rubens, José Renato) e mais alguns. No início pretendia fazer o TCC do programa aonde eu trabalho, mas era muito grande, e eu teria muito trabalho pra fazer a documentação. Um dia na aula de um professor, ele ensinou um componente que fazia bastante coisa sozinha no programa, mas dai que tá, quando era necessário fazer alteração dava muito trabalho ou era muito difícil. Então resolvi fazer o meu próprio componente que me ajudasse na programação, fiz um programa que faz programa, denominado JAVA-FÁCIL.

No meio do ano dei início aos relacionamentos do ano, porém agente vai aprendendo cada vez mais (talvez eu esqueça em breve, ou até já esqueci).
Agente aprende que namoro é algo sério, pois começar a namorar alguém querendo gostar da pessoa, fica algo forçado, tem que ser espontâneo. Fiquei triste por ter tentado e não conseguido, mas enfim...
Logo depois aprendi que quando uma pessoa quer vender o produto, ela faz de tudo, fala que o produto faz milagres e tudo mais, porém o vendedor fala qualquer coisa pra vender, e outra coisa, milagreiro é só Jesus mesmo; depois de vendido se não for de acordo com a propaganda, hum.... ai sim já é tarde. 

Aprendi que todo mundo quando está empolgado, tem uma expectativa as vezes até surreal, e quando vem a realidade, falta forças para tentar chegar pelo menos perto da expectativa ao qual tinha, deixando pra traz todas as promessas. Aprendi mais um pouco, a expectativa vs realidade engana agente até pro lado bom; Quando eu achei que seria uma coisa difícil de enfrentar me surpreendi como a realidade nos engana.

Depois vem a parte das pessoas como eu e como qualquer outra, falamos coisas a qual não gostamos, ou não aprovamos, ou de certa forma falamos que não faríamos, mas a vida é uma caixinha de surpresa, agente fala hoje e amanhã estamos fazendo. Acho que acontece essas coisas para sabermos que não somos nada. Quando dizem que julgando seremos julgados, não é mentira, passa dias e amanhã estamos fazendo as atitudes que tempos atras estávamos falando que nem maritacas.

Mas enfim, fui no "Dia de Java" com o pessoal da faculdade, foi bem gostoso. Já logo no fim do ano, quase não tive aula, foi bem suave a faculdade, apresentei o tcc e tirei 9,6 (a professora queria um manual do java-fácil, pra que um manual se quem vai usar só vai ser eu, e eu que fiz) e fechei todas as notas também.

Fui fazer uma viagem inesquecível para guaratuba, nossa foi muito bom, conheci pessoas novas, diferentes. Sai bastante lá, fiz amizades ao ponto de ir visitar em outra cidade, hahaha, mas foi muito bom mesmo. Conheci mais o Renan e o Chavinho e os Dwelli, muitas risadas

Ano que vem eu não sei se faço uma pós graduação em Presidente Prudente, ou se faço outra faculdade de Ciências Contábeis. 

Mas um objetivo deste ano foi realizado, To formado

Espero que os contatos da faculdade não sejam perdidos.

quinta-feira, 24 de novembro de 2011

Calendario JAVA

Galera.. fiz uma biblioteca legal

que exibe em um JTextFiel um botão, ao Selecionar nele.. exibe um calendário aonde pode escolher a data

para chamar o campo é como qualquer outro campo

TextDataChooser = new TextDataChooser();

e adicionar no painel!!


Claro que não fiz tudo sozinho.. utilizei algumas classes do Marky.Vasconcelos


download ta aqui!!


http://guj.com.br/java/259131-textdatachooser-calendario-swing#1351520

terça-feira, 22 de novembro de 2011

Conversor de Data JAVA

segue dois métodos que fazem conversão de datas


public Date convertStringToDate(String data){
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
date = (Date)formatter.parse(data);
} catch (ParseException e) {
}
return date;
}


public String convertDatatoString(Date data) {
String strdata;
java.text.SimpleDateFormat formata = new java.text.SimpleDateFormat("dd/MM/yyyy");
strdata = formata.format(data);

return strdata;
}

Conversores de Valor JAVA

Segue dois métodos simples que fazem a conversão de String para Double e de Double para String


public String formataValortoString(double valor) {
DecimalFormat deci = new DecimalFormat("0.00");
String num = String.valueOf(deci.format(valor));
num = num.replace(".", ",");
return num;
}


public double formataValorduasCasas(String valor) {
double num = 0;
valor = valor.replaceAll(",", ".");
DecimalFormat deci = new DecimalFormat("0.00");

num = Double.parseDouble(valor);
valor = deci.format(num);

valor = valor.replaceAll(",", ".");
num = Double.parseDouble(valor);

return num;
}

Classe que Exibe o Relatorio java .jasper

Segue uma classe utilitária para exibir seu relatórios
Ao invés de ter que mexer com sql no relatório, você faz ele de tal forma que apenas passando um List
ele ja exibe os dados

segue a classe


package gerenciador;

import java.util.List;

import javax.swing.JDialog;

import objetos.Empresa;

import relatorios.VerificaOrdem;

import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;

public class Relatorio {

@SuppressWarnings("unchecked")
public static void gerarRelatorio(List lista, String caminho){
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
JDialog viewer = new JDialog(new javax.swing.JFrame(),"Visualização do Relatório", true);
viewer.setSize(screenSize.width, screenSize.height-80);
viewer.setLocationRelativeTo(null);
try {
JRBeanCollectionDataSource jrb = new JRBeanCollectionDataSource(lista);
JasperPrint meuRelatorio = JasperFillManager.fillReport(caminho, null, jrb);
//JOptionPane.showMessageDialog(null, "chegou");
JasperViewer visualizador = new JasperViewer(meuRelatorio, false);
visualizador.setSize(screenSize.width, screenSize.height-80);
viewer.getContentPane().add(visualizador.getContentPane());    
viewer.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
}


o metodo gerarRelatorio espera uma lista, e uma string com o caminho

ele cria uma JDialog para visualizar o relatorio, pega o tamanho da tela e diminui 80 pixels da altura
e o JRBeanCollectionDataSource nada mais é do que a lista que exibira os relatorios
é exibido o relatorio

obs* lembrando que se for passar caminho para o relatorio em um diretorio do computador se usa 2 barras invertidas

ex: C:\\sistema\\relatorio\\relatorio.jasper

agora se for utilizar a partir da raiz do programa pode ser

/relatorio/relatorio.jasper

abraço