• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

dos.santos

[Resolvido]Como é que um bom programador de Java/Swing faria...

10 mensagens neste tópico

Boas,

Alguém que me possa dar um exemplo de como um bom programador de Swing faria um método generico para criar um JPanel, adicionando-o depois a uma JFrame também criada por um método generico?

Cumprimentos!

Miguel.  :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Gostava muito de te ajudar mas realmente Swing está assim um bocado fora do meu patamar Java, mas se quiseres alguma coisa de SWT é só dizeres LLOLL

Eu podia dar-te algumas ideias mas realmente a metodologia a nível de estruturação usado no swt é muito diferente do swing.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Gostava muito de te ajudar mas realmente Swing está assim um bocado fora do meu patamar Java, mas se quiseres alguma coisa de SWT é só dizeres LLOLL

Eu podia dar-te algumas ideias mas realmente a metodologia a nível de estruturação usado no swt é muito diferente do swing.

Mostra aí!

Pode ser que me convenças!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

import org.eclipse.swt.widgets.*;

public class Snippet1 {

public static void main (String [] args) {
Display display = new Display ();
Shell shell = new Shell(display);
        shell.setText("Olá SWT");
shell.open ();
while (!shell.isDisposed ()) {
	if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
        }
}

Bom isto para quem está abituado a swin pode parecer muito confuso mas não é a lógica é muito simples, Primeiro crias uma Display que assim em bruto corresponde ao X, Monitor o que lhe quiseres chamar :P depois tudo é criado dentro desse display, criamos uma shell que é mais ou menos o equivalente ao JFrame e no construtor da shell dizes que esta shell vai ser colocada no display :( até aqui tudo super lógico :P em seguida colocas o títulos na shell, e com o open fazemos com que ela apareça +- agora o que pode confundir mais o ciclo while, mas em português o que o ciclo faz é o seguinte enquanto a shell não for fechada ele vai ver se o display está a receber e a enviar dados, se não estiver ele mete o display em sleep, se a shell for fechada ele fecha também o display. Esta parte pode parecer muito estranha mas na verdade pode dar muito jeito, podes programar aqui coisas para por exemplo quando a shell é fechada ele faz Save de alguma coisa e coisas assim.

Mas isto aprende-se a fazer alguns exemplos

Widgets Tens aqui as principais componentes do SWT e respectiva API e  por falar nisso para programar swt aconselho em bom IDE que cada componente tem MONTES de métodos e atributos.

Snippets Aqui tens digamos pequenas "receitas" demonstração de como criar a mexer com os componentes.

Livros e Docs

O meu conselho é experimentar isto falar é muito bonito mas depois vai de cada um.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um bom programador de Swing não faria tal método. Simplemente adicionaria painel à JFrame.

Estás a pensar mal a questão.

Todas as aplicações com componente gráfica possuem um método que serve para a sua iniciação, é nesse método que se colocam os componentes. Não se criam métodos para fazer essas coisas.

Quando fazes uma JFrame, estás a criar um objecto que tem de ter alguma lógica nos métodos/serviços que disponibiliza. Esse tipo de métodos simplesmente não fazem sentido.

Vou tentar colocar aqui no fórum uns exemplos simples.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um bom programador de Swing não faria tal método. Simplesmente adicionaria painel à JFrame.

Estás a pensar mal a questão.

Todas as aplicações com componente gráfica possuem um método que serve para a sua iniciação, é nesse método que se colocam os componentes. Não se criam métodos para fazer essas coisas.

Quando fazes uma JFrame, estás a criar um objecto que tem de ter alguma lógica nos métodos/serviços que disponibiliza. Esse tipo de métodos simplesmente não fazem sentido.

Vou tentar colocar aqui no fórum uns exemplos simples.

Cá fico então há espera desses exemplos!

Miguel.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

import org.eclipse.swt.widgets.*;

public class Snippet1 {

public static void main (String [] args) {
Display display = new Display ();
Shell shell = new Shell(display);
        shell.setText("Olá SWT");
shell.open ();
while (!shell.isDisposed ()) {
	if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
        }
}

Bom isto para quem está abituado a swin pode parecer muito confuso mas não é a lógica é muito simples, Primeiro crias uma Display que assim em bruto corresponde ao X, Monitor o que lhe quiseres chamar :) depois tudo é criado dentro desse display, criamos uma shell que é mais ou menos o equivalente ao JFrame e no construtor da shell dizes que esta shell vai ser colocada no display :) até aqui tudo super lógico :P em seguida colocas o títulos na shell, e com o open fazemos com que ela apareça +- agora o que pode confundir mais o ciclo while, mas em português o que o ciclo faz é o seguinte enquanto a shell não for fechada ele vai ver se o display está a receber e a enviar dados, se não estiver ele mete o display em sleep, se a shell for fechada ele fecha também o display. Esta parte pode parecer muito estranha mas na verdade pode dar muito jeito, podes programar aqui coisas para por exemplo quando a shell é fechada ele faz Save de alguma coisa e coisas assim.

Mas isto aprende-se a fazer alguns exemplos

Widgets Tens aqui as principais componentes do SWT e respectiva API e  por falar nisso para programar swt aconselho em bom IDE que cada componente tem MONTES de métodos e atributos.

Snippets Aqui tens digamos pequenas "receitas" demonstração de como criar a mexer com os componentes.

Livros e Docs

O meu conselho é experimentar isto falar é muito bonito mas depois vai de cada um.

Os widgets do SWT parecem engraçados.

Não sabia que o Azureus foi programado em SWT, pensava que tinha sido feito em Swing....

Então e os layouts do SWT, como é que são?

Miguel.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu por acaso nunca uso layouts programo sempre tudo em posição absoluta por isso não sei muito dessa parte mas tens la exemplo de layouts nos snippets.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou a tentar organizar os meus documentos mas tenho imensa coisa para organizar, vou levar algum tempo a mostrar seja o que for mas se me lembrar posso tentar enviar-te para o mail um ou outro trabalho que tenha feito.

Só quero reforçar uma coisa, já noutro tópico falei do mesmo. Swing não é uma linguagem/plataforma/tecnologia ou o que lhe quiseres chamar, extraordinário ou fora do vulgar. É algo que faz parte da linguagem Java. Não há bons programadores em Swing, há é bons programadores em Java. O que me parece é que estás a colocar a carroça em frente dos bois. Não podes fazer aplicações em Swing, ou em SWT, sem saberes Java. Só irá dar asneira.

E layouts devem ser usados, a questão das posições absolutas há muito que ficou provado que é uma má opção.

O que vejo de errado na tua programação é que não estás a programar em Java. Assim ficarias melhor a usar uma outra linguagem porque a programar sem conhecer a linguagem acabas por ter mais trabalho e fazer aplicações fracas a nível de código.

Quero apenas reforçar que não se pode programar Swing sem se saber POO. A força do Swing está no seu uso extensivo das capacidades da linguagem de do POO, sem saberes os conceitos básicos terás mais dificuldades. Estás a começar a casa pelo telhado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim realmente embora SWT não tenha tanta dependência de POO como swing sim saber bem POO não dá para programar SWT.

É uma bom conselho dominar bem o Java e POO para depois passar há parte gráfica quer em SWT quer em Swing.

Relativamente a não usar posições absolutas acho que é um bocado relativo, se fazemos uma aplicação que não vai sofrer resizes, penso que não há necessidade de estar a complicar a programação, mas como é óbvio  posso estar enganado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora