Progresso [RESOLVIDO]

15 respostas
AntonioDiego

Alguem ai sabe com fazer uma barra de progrsso verde. como a do windows 7

15 Respostas

ViniGodoy

Se for a que fica no ícone do aplicativo, não dá para fazer em Java sem usar o JNI.

AntonioDiego

Como assim ? icone?

Andre_Rosa

Tenha certeza de que várias pessoas sabem fazer. É só essa a sua dúvida?

AntonioDiego

Quis dizer Em java.
e tambem como fazer ,é claro.

Andre_Rosa

AntonioDiego:
Quis dizer Em java.
e tambem como fazer ,é claro.

Igual a do Windows não. Para garantir sua portabilidade, O Java não oferece nenhum recurso exclusivo do sistema operacional em questão. Se quiser, você pode implementar uma com ajuda do Swing, mas saiba que ficará diferente. Aqui há um exemplo:

http://www.roseindia.net/java/example/java/swing/SwingProgressBar.shtml

ViniGodoy

Você nunca viu que no Windows 7, a barra de progresso também aparece no ícone da barra de tarefas?

Veja como fica o ícone do IE quando um download está sendo realizado:

ViniGodoy

Siga esse tutorial oficial de uso da ProgressBar com o Swing também:
http://download.oracle.com/javase/tutorial/uiswing/components/progress.html

AntonioDiego

Ja usei a do swing e nao gostei.

AntonioDiego

vou procurar saber do Java Native Interface. Que o vini falou.

AntonioDiego

Ja to la usando o Google Tradutor.

AntonioDiego

Agora entendi de que icone você tava falando.

pgioseffi
Andre Rosa:
AntonioDiego:
Quis dizer Em java. e tambem como fazer ,é claro.

Igual a do Windows não. Para garantir sua portabilidade, O Java não oferece nenhum recurso exclusivo do sistema operacional em questão. Se quiser, você pode implementar uma com ajuda do Swing, mas saiba que ficará diferente. Aqui há um exemplo:

http://www.roseindia.net/java/example/java/swing/SwingProgressBar.shtml

Tem sim como fazer igual a do Windows, porém ele precisa estar em um ambiente Windows 7 e usar o system look and feel que vai ficar igual ao Windows 7. Só é necessário adicionar este trecho de código abaixo no construtor da classe (ou do método que inicie a classe) que terá a JProgressBar:

try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (final ClassNotFoundException e) {
            ExecutorConfiguradorAlertasEstoque.log.error("Tentativa de iniciar sistema com layout de aplicações para Windows falhou.");
        } catch (final InstantiationException e) {
            ExecutorConfiguradorAlertasEstoque.log.error("Tentativa de iniciar sistema com layout de aplicações para Windows falhou.");
        } catch (final IllegalAccessException e) {
            ExecutorConfiguradorAlertasEstoque.log.error("Tentativa de iniciar sistema com layout de aplicações para Windows falhou.");
        } catch (final UnsupportedLookAndFeelException e) {
            ExecutorConfiguradorAlertasEstoque.log.error("Tentativa de iniciar sistema com layout de aplicações para Windows falhou.");
        }

O problema da abordagem acima é que a interface gráfica se torna mutável, ou seja, ele vai pegar o look and feel do sistema operacional onde o sistema estiver sendo executado.

Para forçar look and feel do Windows em qualquer ambiente gráfico, ele pode trocar a linha:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
por
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
.

Porém eu não sei dizer com 100% de certeza o efeito disso em um SO sem suporte ao look and feel do Windows (algumas implementações do Linux suportam!).

Além disso, a implementação acima se estiver em um ambiente Windows personalizado, vai seguir as personalizações do usuário.

AntonioDiego

Valeu cara vou testar, como nao vou portar meu projeto acho que vou ficar com a segunda opçao.

AntonioDiego

Funcionou. obrigado.

pgioseffi

Sempre que precisar, é só falar.

Em tempo, edite o título do seu tópico, por favor, colocando [RESOLVIDO] antes do início do título.

Criado 16 de maio de 2011
Ultima resposta 16 de mai. de 2011
Respostas 15
Participantes 4