I can put my game change the screen
this is my code
class controle tela
package meujogo.nifty;
import mygame.Main;
import de.lessvoid.nifty.Nifty;
import de.lessvoid.nifty.elements.Element;
import de.lessvoid.nifty.screen.Screen;
import de.lessvoid.nifty.screen.ScreenController;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author Pedro
*/
public class ControleTela implements ScreenController {
Main jogo; //Usado para acessar os dados do jogo
Nifty nifty; //Usado para interagir com a tela
private Element formLayer; //Esse objeto conterá a referência a layer da tela referente ao formulário
private FormularioController formController;
public ControleTela (Main jogo){
this.jogo=jogo;
}
public void bind(Nifty nifty, Screen screen) {
System.out.println("bind( " + screen.getScreenId() + ")");
this.nifty=nifty;
//Aqui eu busco na tela a camada de Formulário
formLayer= screen.findElementByName("formLayer");
if (formLayer!=null){
formController=formLayer.getControl(FormularioController.class);
// formController.getUsername("Username");
// formController.getpassord("Password");
formController.setControleTela(this);
System.out.println("FormController Encontrado!");
// if(formController.login().equals(1)){
// System.out.println("1");
// }
}
}
public void onStartScreen() {
System.out.println("onStartScreen");
}
public void onEndScreen() {
System.out.println("onEndScreen");
}
public void quit(){
nifty.gotoScreen("end");
}
}
class formularcontrol
package meujogo.nifty;
import java.util.Properties;
import de.lessvoid.nifty.Nifty;
import de.lessvoid.nifty.controls.Controller;
import de.lessvoid.nifty.controls.TextField;
import de.lessvoid.nifty.elements.Element;
import de.lessvoid.nifty.input.NiftyInputEvent;
import de.lessvoid.nifty.screen.Screen;
import de.lessvoid.xml.xpp3.Attributes;
import java.sql.SQLException;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
-
Esse controle é responsável pelo tratamento do formulário, todos os eventos referentes ao
-
formulário devem passar por aqui.
-
Note: você pode chamar métodos dessa classe através do ControleTela.
-
Exemplo: formController.setNome(“Novo Nome”);
*/
public class FormularioController implements Controller {
Screen screen;
Element element;
//Referencia a objetos da tela
TextField Username;
TextField Password;
ControleTela controleTela; //Caso seja necessário chamar algum método do controle
//principal já temos a referência
@Override
public void bind(Nifty nifty, Screen screen, Element element, Properties arg3,
Attributes arg4) {
this.screen=screen;
this.element=element;
Username= element.findNiftyControl("username", TextField.class);
Password= element.findNiftyControl("password", TextField.class);
// elResultado= element.findNiftyControl("resultado", TextField.class);
}
public String login() {
Date data = new Date(System.currentTimeMillis());
Time hora = new Time(System.currentTimeMillis());
SimpleDateFormat formatarDate = new SimpleDateFormat(“yyyy-MM-dd”);
System.out.println(formatarDate.format(data));
try {
String falhou = "O UTILIZADOR FALHOU O LOGIN";
String sucesso = "LOGIN FOI FEITO COM SUCESSO";
String username =Username.getText();
String password = Password.getText();
System.out.println(" "+username+" "+password);
classes.users ola = new classes.users();
if (ola.retrievelogin(username, password)) {
if (ola.nivelacesso(username) == 1) {
String tipo = “Administrador”;
javax.swing.JOptionPane.showMessageDialog(null, tipo, “Erro”, javax.swing.JOptionPane.INFORMATION_MESSAGE);
return tipo;
} else {
String tipo = “Funcionario”;
javax.swing.JOptionPane.showMessageDialog(null, tipo, “Erro”, javax.swing.JOptionPane.INFORMATION_MESSAGE);
return tipo;
//
// MENUPRINCIPAL mp = new MENUPRINCIPAL(username, tipo);
// h.setusername(username);
//h.settipo(sucesso);
// h.setData(data);
// h.sethora(hora);
// h.setCategoria(“Login”);
//h.gravaficheio();
//mp.setVisible(true);
//mp.setAlwaysOnTop(true);
}
// this.dispose();
} else {
javax.swing.JOptionPane.showMessageDialog(null, "Utilizador ou Password Incorrectos", "Erro", javax.swing.JOptionPane.INFORMATION_MESSAGE);
return "erro";
// h.setusername(username);
// h.settipo(falhou);
// h.setData(data);
// h.sethora(hora);
// h.setCategoria("Login");
//h.gravaficheio();
}
} catch (SQLException ex) {
System.out.println(ex);
// javax.swing.JOptionPane.showMessageDialog(null, ex.getMessage(), "Tente Novamente", javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
return null;
}
public void exit() {
System.exit(0);
}
/* /
/
- Método chamado quando o usuário clica no botão “Calcula”
*/
/*public void calcula(){
elResultado.setText(Username.getText()+ Password.getText());
}
*/
public void getUsername(String s){
Username.setText(s);
}
public void getpassord(String s){
Password.setText(s);
}
@Override
public void init(Properties arg0, Attributes arg1) {
// TODO Auto-generated method stub
}
@Override
public boolean inputEvent(NiftyInputEvent arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onFocus(boolean arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStartScreen() {
// TODO Auto-generated method stub
}
public ControleTela getControleTela() {
return controleTela;
}
public void setControleTela(ControleTela controleTela) {
this.controleTela = controleTela;
}
}