Probelas utilizando display no SWT

1 resposta
EuclidesFilizola

Estou tentando fazer um simples componente, no qual existe um botão login. Após clicar no botão, ele deveria abrir outra janela com opções “setor, ramal, nome” . Porém não sei o que está errado. Quem puder ajudar agradeço desde já

import java.sql.Connection;
import java.sql.SQLException;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

import testeFinal.DAO.*;
import testeFinal.Bean.*;


public class Index {

	static FuncionarioDAO objDAO = new FuncionarioDAO();

	static FuncionarioBean funcionario = new FuncionarioBean();

	public static void main(String args[]) {

		final Display display = new Display();

		Shell index = new Shell(display);

		index.setText(" Index ");

		GridLayout layout = new GridLayout(2, true);

		index.setLayout(layout);

		index.setSize(200, 150);

		Label Lusuario = new Label(index, SWT.CENTER);
		Lusuario.setText("usuario");
		final Text Tusuario = new Text(index, SWT.SINGLE);

		Label Lsenha = new Label(index, SWT.CENTER);
		Lsenha.setText("senha");

		final Text Tsenha = new Text(index, SWT.PASSWORD);

		final Button Blogin = new Button(index, SWT.PUSH);

		SelectionAdapter login = new SelectionAdapter() {

			public void widgetSelected(SelectionEvent event) {
				// método para verificar o usuario e senha.

				try {

					String login = Tusuario.getText();

					funcionario.setLogin(login);

					String senha = Tsenha.getText();

					funcionario.setSenha(senha);

					// objDAO.verificaLogin(objDAO.getConexao(), funcionario);

					if (objDAO.verificaLogin(objDAO.getConexao(), funcionario)) {

						Shell gui = new Shell(display);

						gui.setText(" Lista Ramais ");

						GridLayout layout = new GridLayout(2, true);

						gui.setLayout(layout);

						gui.setSize(200, 150);

						Label Lnome = new Label(gui, SWT.CENTER);

						Lnome.setText("Nome");

						final Text Tnome = new Text(gui, SWT.SINGLE);

						Label Lsetor = new Label(gui, SWT.CENTER);

						Lsetor.setText("Setor");

						final Text Tsetor = new Text(gui, SWT.SINGLE);

						Label Lramal = new Label(gui, SWT.CENTER);

						Lramal.setText("Ramal");

						final Text Tramal = new Text(gui, SWT.SINGLE);

						final Button Badicionar = new Button(gui, SWT.PUSH);

						SelectionAdapter adicionar = new SelectionAdapter() {

							public void widgetSelected(SelectionEvent event) {

								Shell shell2 = new Shell(display);

								shell2.setText("Tela inicial");

								shell2.setLayout(new RowLayout());

								shell2.setSize(200, 100);

								shell2.open();

								String nome = Tnome.getText();

								funcionario.setNome(nome);

								String setor = Tsetor.getText();

								funcionario.setSetor(setor);

								String ramal = Tramal.getText();

								int ramalNum = Integer.parseInt(ramal);

								funcionario.setRamal(ramalNum);

								Connection conexao = null;
								try {
									conexao = objDAO.getConexao();
									objDAO.inserirFuncionario(conexao,
											funcionario);

								} catch (SQLException e) {

									e.printStackTrace();
								}
							}

						};

						Badicionar.addSelectionListener(adicionar);

						Badicionar.setText("Adicionar");

						final Button Bprocurar = new Button(gui, SWT.PUSH);

						SelectionAdapter procurar = new SelectionAdapter() {

							public void widgetSelected(SelectionEvent event) {
								try {

									Connection conexao = null;

									conexao = objDAO.getConexao();

									objDAO.buscarFuncionario(conexao,
											funcionario);

									Shell result = new Shell(display);

									result.setText("resultado da busca");

									result.setLayout(new RowLayout());

									result.setSize(200, 100);

									result.open();
								} catch (SQLException e) {
									System.out
											.println("falha ao tentar conectar-se ao DB");
									e.printStackTrace();
								}
							}
						};

						Bprocurar.addSelectionListener(procurar);
						Bprocurar.setText("Procurar");
						gui.open();

						while (!gui.isDisposed()) {

							if (!display.readAndDispatch())

								display.sleep();

						}

						display.dispose();

					}

				} catch (SQLException e) {

					e.printStackTrace();
				}

			}
		};

		Blogin.addSelectionListener(login);
		Blogin.setText("login");
		index.open();

		while (!index.isDisposed()) {

			if (!display.readAndDispatch())

				display.sleep();

		}

		display.dispose();

	}
}

agradeço desde já …

1 Resposta

Pilantra

Troque, shell2.open(); por shell2.setVisible(true);

Talvez seja esse o problema.

Criado 29 de maio de 2008
Ultima resposta 29 de mai. de 2008
Respostas 1
Participantes 2