Fórum Tamanho da tela #411825

23/01/2012

0

Ola boa tarde
eu to criando um metodo da seguinte forma
public class DefinicoesTela extends JDialog {
/**
*
*/
private static final long serialVersionUID = 1L;

/**
* Tela Padra Principal do Programa
* @param NomeSistema
*/

public void TelaMaster(String NomeSistema){
setTitle(NomeSistema);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
setLayout(null);
setModal(true);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds(0, 0, screenSize.width, screenSize.height-35);
}
/**
* Usado para Telas padroes Programas
* @param Titulo
*/

public void Tela1(String NomePrograma){
setTitle(NomePrograma);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
setLayout(null);
setModal(true);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds(0, 0, screenSize.width, screenSize.height-40);
}
}

ae dentro dos programas eu faco
public class Principal extends JFrame implements ActionListener, MouseListener,WindowListener {
public Acesso acesso;
private static final long serialVersionUID = 1L;
public Principal() {
new DefinicoesTela().TelaMaster(EM DESENVOLVIMENTO);
.......}
}
Porem toda vez a minha tela inicia no canto superior esquerdo, e tenho q usar o mouse para dimesionar a tela
e nem o titulo funciona
Alberto Leal

Alberto Leal

Responder

Posts

26/01/2012

Nelson Silva

Ola boa tarde
eu to criando um metodo da seguinte forma
public class DefinicoesTela extends JDialog {
/**
*
*/
private static final long serialVersionUID = 1L;

/**
* Tela Padra Principal do Programa
* @param NomeSistema
*/

public void TelaMaster(String NomeSistema){
setTitle(NomeSistema);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
setLayout(null);
setModal(true);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds(0, 0, screenSize.width, screenSize.height-35);
}
/**
* Usado para Telas padroes Programas
* @param Titulo
*/

public void Tela1(String NomePrograma){
setTitle(NomePrograma);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
setLayout(null);
setModal(true);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds(0, 0, screenSize.width, screenSize.height-40);
}
}

ae dentro dos programas eu faco
public class Principal extends JFrame implements ActionListener, MouseListener,WindowListener {
public Acesso acesso;
private static final long serialVersionUID = 1L;
public Principal() {
new DefinicoesTela().TelaMaster(EM DESENVOLVIMENTO);
.......}
}
Porem toda vez a minha tela inicia no canto superior esquerdo, e tenho q usar o mouse para dimesionar a tela
e nem o titulo funciona


------------------------------------------------------------------------------------------------------------------------
Tenta colocar o método setLocationRelativeTo() após o método setBounds(), os 2 1º parametros deste método indicam as posições das coordenadas (x, y), colocando o valor zeros neles, estás dizendo que a tela estará na linha 0 coluna 0.
Veja por exemplo:
public  void Tela1(String NomePrograma){
	//...
	setBounds(0, 0, screenSize.width, screenSize.height-40);
        setLocationRelativeTo(null);
}
Responder

Gostei + 0

26/01/2012

Alberto Leal

Fiz a alteracao para colocar o setLocationRelativeTo(null) para ser a ultima instrucao
e ficou assim
public JFrame TelaMaster(JFrame frame, String NomeSistema){
frame.setTitle(NomeSistema);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
...
frame.setLocationRelativeTo(null);
return frame;
}

public JDialog Tela1(JDialog dialog,String NomePrograma){
dialog.setModalityType(ModalityType.APPLICATION_MODAL);
dialog.setModal(true);
....
return dialog;
}

com isso deu certo.. porem as minhas jdilogs nao consegue se comunicar entre sim
new VereficaLogin(new JDialog(),acesso).setVisible(true);

e no classe VereficaLogin
public VereficaLogin(final JDialog parent, final Acesso acesso){
super(parent);
this.parent=parent;
this.acesso=acesso;
....}

ae com isso gostaria de preencher o login
e retorna para classe principal q é um frame
Responder

Gostei + 0

26/01/2012

Nelson Silva

Fiz a alteracao para colocar o setLocationRelativeTo(null) para ser a ultima instrucao
e ficou assim
public JFrame TelaMaster(JFrame frame, String NomeSistema){
frame.setTitle(NomeSistema);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
...
frame.setLocationRelativeTo(null);
return frame;
}

public JDialog Tela1(JDialog dialog,String NomePrograma){
dialog.setModalityType(ModalityType.APPLICATION_MODAL);
dialog.setModal(true);
....
return dialog;
}

com isso deu certo.. porem as minhas jdilogs nao consegue se comunicar entre sim
new VereficaLogin(new JDialog(),acesso).setVisible(true);

e no classe VereficaLogin
public VereficaLogin(final JDialog parent, final Acesso acesso){
super(parent);
this.parent=parent;
this.acesso=acesso;
....}

ae com isso gostaria de preencher o login
e retorna para classe principal q é um frame

--------------------------------------------------------------------------------------------------

Deixa ver se entendi o q qres...
Na classe DefinicoesTela pretendes criar uma instancia de VereficaLogin... onde o constructor recebe como parametros uma instancia de JDialog e uma de Acesso, certo?
Me informe os objectivos das classes Acesso e VerificaLogin...
Responder

Gostei + 0

26/01/2012

Alberto Leal

é assim a minha ideia
essa é JFrame principal.. ao inicar a aplicacao ele verefica se acesso jah esta definido ou se ainda esta null
se tiver null ele tem q chamar o VereficaLogin que vai solicitar a senha.. se tiver correta libera o acesso
e alimenta o SetUsuario com os dados de acesso e do usuario

public class Principal extends JFrame{
...
public Principal {
...
if(acesso.equals(null){
new VereficaLogin(new JDialog(),acesso).setVisible(true);
}
...
}
public static void main(String[] args){
new Principal().setVisible(true);
}
public void SetUsuario(String usuario){
this.usuario = usuario;
}
}

essa é a minha classe q extend uma jdialog para solicitar a senha
public class VereficaLogin extends JDialog{
...
public VereficaLogin(final JDialog parent,final Acesso acesso){
super(parent);
this.parent= parent;
this.acesso=acesso;
....
// aki chamar o metodo SetUsuario e atribuir o usuario logado
???
}
Responder

Gostei + 0

27/01/2012

Nelson Silva

é assim a minha ideia
essa é JFrame principal.. ao inicar a aplicacao ele verefica se acesso jah esta definido ou se ainda esta null
se tiver null ele tem q chamar o VereficaLogin que vai solicitar a senha.. se tiver correta libera o acesso
e alimenta o SetUsuario com os dados de acesso e do usuario

public class Principal extends JFrame{
...
public Principal {
...
if(acesso.equals(null){
new VereficaLogin(new JDialog(),acesso).setVisible(true);
}
...
}
public static void main(String[] args){
new Principal().setVisible(true);
}
public void SetUsuario(String usuario){
this.usuario = usuario;
}
}

essa é a minha classe q extend uma jdialog para solicitar a senha
public class VereficaLogin extends JDialog{
...
public VereficaLogin(final JDialog parent,final Acesso acesso){
super(parent);
this.parent= parent;
this.acesso=acesso;
....
// aki chamar o metodo SetUsuario e atribuir o usuario logado
???
}

--------------------------------------------------------------------------------------------------------------------------
public class Principal extends JFrame{
    private String usuario;//
    private VerificaLogin login = null;
    private Acesso acesso = null;
    public Principal(){
        ...
        if(acesso == null){
            login = new VereficaLogin(new JDialog(),acesso);
        }
        ...
    }
    public static void main(String[] args){
        new Principal().setVisible(true);
    }
    public void setUsuario(String usuario){
        this.usuario = usuario;
    }
    public class VereficaLogin extends JDialog{
        ...
        private JTextField user, senha;
        private JButton entrar;
        public VereficaLogin(final JDialog parent,final Acesso acesso){
            super(parent);
            this.parent = parent;
            this.acesso = acesso;
            entrar = new JButton(Login);
            entrar.setBound(...);            
            .......
            this.parent.setVisible(true);
        }
        entrar.addActionListener( new ActionListener(){
            public void actionPerformed(new ActionEvent()){
                if(existe(user.getText(), senha.getText())){//verifica se os dados existem na fonte de dados
                    setUsuario(user.getText());
                    ...
                    parent.dispose();
                }
            }
        });
        //
        private boolean existe(String user, String senha){
            if(user!=null && senha != null){//verifica se os parametros sao null
                ...
                //verifica se os dados sao iguais com um dos registos na fonte de dados
                if(user.equals(...) && senha.equals(...)){
                    return true;
                }
            }
            //retorna false se um dos ifs for false
            return false;
        }
    }
}

--------------------------------------------------------------------------------------------------------------------------
Neste exemplo A classe VerificaLogin se encontram dentro da classe Principal...
Eu nao sei bem ql é o objectivo da tua classe Acesso, pois nao a definiste nem esplicaste nada
Também não sei onde se encontram os teus dados...
Mas espero que esta ideia lhe possa ajudar naquilo que precisas... qlqr coisa tó aquí. Força
Responder

Gostei + 0

27/01/2012

Alberto Leal

Boa tarde.. a variavel acesso é uma classe nao qual tenho todas as ferramentas, acessos a bancos, dados de usuarios
Obrigado deu certo aki
Responder

Gostei + 0

01/02/2012

Dyego Carmo

Opa !

Conseguiste Resolver ?

Poderia fechar o chamado ?

Valeu !!!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar