2011-07-04 3 views
1

다른 양식을 호출하는 방법은 무엇입니까? form.show() 메서드를 사용하면 다른 폼의 구성 요소가 표시되지 않습니다.
예 ...J2ME에서 LWUIT 라이브러리 사용. 다른 양식을 호출하는 방법?

FirstForm.java

public class FirstForm extends MIDlet implements ActionListener 
{ 
    Form frm_first = new Form("First"); 
    public Command cmd_Login; 
    public void startApp() 
    { 
     Display.init(this); 
     cmd_Login = new Command("Login"); 
     frm_first.addComponent(cmd_login); 
     ...... 
    } 
    public void pauseApp() {} 

    public void destroyApp(boolean unconditional) {} 

    public void actionPerformed(ActionEvent ae) 
    { 
     Command cmd = ae.getCommand(); 
     String strcmdName = cmd.getCommandName(); 

     if (strcmdName.equals("Login")) 
     { 
      //how to call Login Form 
     } 
    } 
} 

Login.java

public class Login extends Form implements ActionListener 
{ 
    Form frm_Login = new Form("Login"); 
    Button btn_Login = new Button("Login"); 
    public Login() 
    { 
     .... 
     . .... 
    } 
} 

답변

2

먼저 당신은 당신의 클래스 FirstForm에서 양식을 만들어야합니다. Form frm=new Form("First Form"); 처럼 은 다음과 같은 양식에 cmd_Login 명령을 추가 frm.addCommand(cmd_Login); 다음 frm.setCommandListener(this); &가 된 ActionListener FirstForm에서 implements CommandListener을하지 할 필요가 형성 명령 리스너를 설정합니다. 다음에 public void commandAction(Command c, Displayable d) {에 두 번째 양식으로 이동하려면 코드를 작성해야합니다. & Login 클래스에서 한가지 주목할 점은 항상 폼 클래스 &을 확장하여 Login 클래스에 Form 객체를 생성하는 것입니다. 확장 클래스 Form을 사용하고 있다면 Form 객체를 생성하지 마십시오. 감사

+0

안녕하세요 sajid 감사합니다. 로그인 양식은 로그인 생성자에서 구성 요소의 모든 정의를 정의하는 데 필요합니다. solution.plz가 아니라면 몇 가지 예를 들어주세요. 정말 고마워요 –

+0

거의 필수 ........ –

+0

다른 옵션이 없습니다 –

1

단순히

new Login().show(); 
+0

안녕하세요, Nirmal이 (가) 재 경기에 감사드립니다. –

+0

로그인 양식에서 로그인 생성자에서 구성 요소의 모든 정의를 정의하는 데 필요합니다. solution.plz가 아니라면 몇 가지 예를 들어주세요. 매우 감사합니다. –

0

나는 또 다른 내에서 양식을 호출 발견하는 가장 좋은 방법을 사용하여 리스너를 구현 한 후이 사용하는 것입니다 showForm("name of Form", null);

또 다른 방법은 다른 형태를 호출하는 방법을, 그러나 구성 요소 작업 내에서 다음과 같습니다. showContainer("name of Form",c, null);

0

이 줄은 Display.init (this); 따라서 예외가 발생하고 아무 것도 작동하지 않습니다.

Form frm_first = new Form("First"); 

Display.init(this) 코드 뒤에 초기화 코드를 이동하십시오.