Tamanho da tela

Java

23/01/2012

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

Curtidas 0

Respostas

Nelson Silva

Nelson Silva

23/01/2012

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);
}
GOSTEI 0
Alberto Leal

Alberto Leal

23/01/2012

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
GOSTEI 0
Nelson Silva

Nelson Silva

23/01/2012

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...
GOSTEI 0
Alberto Leal

Alberto Leal

23/01/2012

é 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
???
}
GOSTEI 0
Nelson Silva

Nelson Silva

23/01/2012

é 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
GOSTEI 0
Alberto Leal

Alberto Leal

23/01/2012

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

Dyego Carmo

23/01/2012

Opa !

Conseguiste Resolver ?

Poderia fechar o chamado ?

Valeu !!!
GOSTEI 0
POSTAR