Codebits 2012

Codebits VI

 

Aqui está. O evento mais esperado do ano em Portugal! A sexta edição do Codebits está a começar a aquecer os motores.

Para aqueles que não conhecem o Codebits eu vou escrever um pouco acerca do evento.

O Codebits é um evento organizado pela SAPO.PT e acreditem eles trabalham mesmo no duro para que este evento seja concretizavel. O evento além de ser gratuito, eles disponibilizam comida e bebida, oferecem um monte de brindes, montes de palestras e apresentações e os stands dos parceiros costumam ter novidades excelentes.

Este é o maior e mais geek evento técnologico em Portugal e o tempo que passamos la vale mesmo a pena.

Este ano o evento vai ser realizado no mesmo lugar que no ano passado mas ao que parece vai sofrer algumas alterações que tudo aponta que seja para melhor! Por exemplo em vez de uma parede preta a dividir o palco principal do restante espaço do evento vão colocar uma cortinha semi-transparente de modo a que se possa sempre saber o que se passa no palco.

Como em todos os anos vai existir o concurso de programação de 24Horas em que são mostrados sempre projectos incriveis e tem prémios excelentes (eu ate dispensava os prémios, a minha participação é sempre a lutar pelo trofeu do codebits que a meu parecer deve ser um prestigio enorme poder leva-lo para casa!

Como é normal apenas 800 geeks vão poder participar e serão escolhidos através de uma pré-seleção, por isso mantenham-se atentos ao site!

Alterar o tamanho de todos os componentes numa java.awt.Frame em Java

Quando estamos demasiado habituados a uma linguagem de programação por vezes automatizamos alguns procedimentos…

Eu vinha de um background em C# e agora estou a fazer umas tarefas em JAVA e deparei logo com algumas diferenças “subtis”.

Tarefa: Alterar o tamanho de todos os componentes e respectivas fontes dentro de uma dialog composta por uma java.awt.Frame.

Depois de algumas tentativas aqui esta o código com que consegui obter resultados:

protected void changeContent(Container parent) 
{
    for (Component comp : parent.getComponents()) 
    {
        changeFont(comp);
        comp.setMaximumSize( new java.awt.Dimension(comp.getWidth()*2, comp.getHeight()*2) );
        comp.setPreferredSize( new java.awt.Dimension(comp.getWidth()*2, comp.getHeight()*2) );
        comp.setSize( comp.getWidth()*2, comp.getHeight()*2);
        if (comp instanceof Container) 
        {
            changeContent((Container)comp);
        }
    }
}
protected void changeFont(Component comp) 
{
    AffineTransform at = AffineTransform.getScaleInstance(2, 2);
    if (comp.getFont() != null)
    {
        Font font = comp.getFont().deriveFont(at);
        comp.setFont(font);
    }
}

 

No meu caso, estas duas pequenas funções resolveram os meus problemas. Como é obvio no constructor do formulário coloquei no parametro do ChangeContent() o objecto que representava a Frame.