Problemas para redimencionar o JFrame

2 respostas
leticianayara

Boa tarde Gente,

Estou tento problemas para redimencionar a o JFrame de maneira que fique do tamanho do monitor. Procurando pelo site encontrei o seguinte trecho

Dimension dimensao = Toolkit.getDefaultToolkit().getScreenSize();
        this.setSize(dimensao);

Assim consegui pegar o tamanho do monitor e arrumar o Jframe, porém todos os meus componentes de tela ficam em JPanels de montadas todas de acrodo com o que preciso em cada tela e quando vou tentar colocar o tamanho do devolvido pelo getScreenSize(), dá erro na execução e a troca de paineis não é feita (tenho um JPainel no JFrame que serve com fundo), alguém poderia me ajudar??

Tentei pegar os valores dos height e widht retornados no getScreenSize() mas não dá pois o retorno deles é double e os parametros exigidos pelo setBounds() , que uso para dimensionar o JPanel a ser trocado para ajustalo de acordo com o JFrame, são int.
Ja tentei converter os valores de double para inteiro e não deu certo também.

Estou precisando muito resolver essa questão.

Quem precisar de maiores esclarecimentos é só perguntar.

2 Respostas

ViniGodoy

Você não está usando layout managers? Ou fez a besteira de dar “setLayout(null)” e ir pelo caminho “mais fácil”?

Em todo caso, você pode maximizar o seu Frame ou usar esse comando mesmo. Basta fazer o cast dos doubles para int.

leticianayara

Na verdade estou usando layout absolute, uso ele em todos o JPanel e no JFrame tbm.

Eu tentei fazer a conversão dos valores mass está dando erro e os JPanels não são trocados

vou enviar o código e o erro que dá pra você ver

CODIGO:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * JFrameSHIPS.java
 *
 * Created on 19/06/2010, 08:10:05
 */

package GUI;
import javax.swing.*;
import DOMINIO_PROBLEMA.*;
import java.awt.Dimension;
import java.awt.Toolkit;

/**
 *
 * @author Leticia Nayara
 */
public class JFrameSHIPS extends javax.swing.JFrame {

    //private boolean login;

Painel_Relatorio npainelRelatorio = new Painel_Relatorio();
Painel_Usuario npainelUsuario = new Painel_Usuario();
Painel_Tipo_Usuario npainelTipoUsuario = new Painel_Tipo_Usuario();
Painel_Navio npainelNavio = new Painel_Navio();
Painel_Porto npainelPorto = new Painel_Porto();
Dimension dimensao = Toolkit.getDefaultToolkit().getScreenSize();

HISTORICO_NAVIO historico;


    /** Creates new form JFrameSHIPS */
    public JFrameSHIPS() {
        initComponents();
        this.setSize(dimensao);
     }


        public void trocarPainel(JPanel panel)
    {
        this.painelPrincpal.removeAll();
        this.painelPrincpal.setVisible(false);
        this.painelPrincpal.add(panel);
        this.painelPrincpal.setVisible(true);
    }


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        painelPrincpal = new javax.swing.JPanel();
        barraMenu = new javax.swing.JMenuBar();
        menuCadastroBasicos = new javax.swing.JMenu();
        menuUsuario = new javax.swing.JMenu();
        itemMenuUsuarioCadastrar = new javax.swing.JMenuItem();
        itemMenuUsuarioAlterar = new javax.swing.JMenuItem();
        itemMenuUsuarioConsultar = new javax.swing.JMenuItem();
        itemMenuUsuarioExcluir = new javax.swing.JMenuItem();
        menuTipoUsuario = new javax.swing.JMenu();
        itemMenuTipoUsuarioCadastrar = new javax.swing.JMenuItem();
        itemMenuTipoUsuarioAlterar = new javax.swing.JMenuItem();
        itemMenuTipoUsuarioConsultar = new javax.swing.JMenuItem();
        itemMenuTipoUsuarioExcluir = new javax.swing.JMenuItem();
        Navio = new javax.swing.JMenu();
        CadastrarNavio = new javax.swing.JMenuItem();
        AlterarNavio = new javax.swing.JMenuItem();
        ConsultarNavio = new javax.swing.JMenuItem();
        ExcluirNavio = new javax.swing.JMenuItem();
        menuPorto = new javax.swing.JMenu();
        menuPortoCadastrar = new javax.swing.JMenuItem();
        menuPortoAlterar = new javax.swing.JMenuItem();
        menuPortoConsultar = new javax.swing.JMenuItem();
        menuPortoExcluir = new javax.swing.JMenuItem();
        menuCadastroAdministrativo = new javax.swing.JMenu();
        jMenuItem7 = new javax.swing.JMenuItem();
        jMenuItem8 = new javax.swing.JMenuItem();
        jMenuItem9 = new javax.swing.JMenuItem();
        jMenuItem10 = new javax.swing.JMenuItem();
        jMenuItem11 = new javax.swing.JMenuItem();
        jMenuItem12 = new javax.swing.JMenuItem();
        jMenuItem13 = new javax.swing.JMenuItem();
        menuRelatorios = new javax.swing.JMenu();
        itemCadastrarRelatorio = new javax.swing.JMenuItem();
        itemAlterarRelatorio = new javax.swing.JMenuItem();
        itemConsultarRelatorio = new javax.swing.JMenuItem();
        itemExcluirRelatorio = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("SHIPS - Sistema de Gerência de Relatórios de Navios");
        setBounds(new java.awt.Rectangle(0, 0, 2147, 2147));
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setIconImages(null);
        setMaximizedBounds(new java.awt.Rectangle(0, 0, 2147, 2137));
        setMinimumSize(new java.awt.Dimension(200, 200));
        setResizable(false);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        painelPrincpal.setPreferredSize(new java.awt.Dimension[telefone removido], [telefone removido]));
        painelPrincpal.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        getContentPane().add(painelPrincpal, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 32410, 32563));

        barraMenu.setName("SHIPS - Sistema de Gerência de Relatórios de Navios"); // NOI18N
        barraMenu.setPreferredSize(new java.awt.Dimension(273, 21));

        menuCadastroBasicos.setText("Cadastro Básicos");

        menuUsuario.setText("Usuario");

        itemMenuUsuarioCadastrar.setText("Cadastrar");
        itemMenuUsuarioCadastrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMenuUsuarioCadastrarActionPerformed(evt);
            }
        });
        menuUsuario.add(itemMenuUsuarioCadastrar);

        itemMenuUsuarioAlterar.setText("Alterar");
        menuUsuario.add(itemMenuUsuarioAlterar);

        itemMenuUsuarioConsultar.setText("Consultar");
        menuUsuario.add(itemMenuUsuarioConsultar);

        itemMenuUsuarioExcluir.setText("Excluir");
        menuUsuario.add(itemMenuUsuarioExcluir);

        menuCadastroBasicos.add(menuUsuario);

        menuTipoUsuario.setText("Tipo Usuario");

        itemMenuTipoUsuarioCadastrar.setText("Cadastrar");
        itemMenuTipoUsuarioCadastrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMenuTipoUsuarioCadastrarActionPerformed(evt);
            }
        });
        menuTipoUsuario.add(itemMenuTipoUsuarioCadastrar);

        itemMenuTipoUsuarioAlterar.setText("Alterar");
        menuTipoUsuario.add(itemMenuTipoUsuarioAlterar);

        itemMenuTipoUsuarioConsultar.setText("Consultar");
        menuTipoUsuario.add(itemMenuTipoUsuarioConsultar);

        itemMenuTipoUsuarioExcluir.setText("Excluir");
        menuTipoUsuario.add(itemMenuTipoUsuarioExcluir);

        menuCadastroBasicos.add(menuTipoUsuario);

        Navio.setText("Navio");

        CadastrarNavio.setText("Cadastrar");
        CadastrarNavio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CadastrarNavioActionPerformed(evt);
            }
        });
        Navio.add(CadastrarNavio);

        AlterarNavio.setText("Alterar");
        Navio.add(AlterarNavio);

        ConsultarNavio.setText("Consultar");
        Navio.add(ConsultarNavio);

        ExcluirNavio.setText("Excluir");
        Navio.add(ExcluirNavio);

        menuCadastroBasicos.add(Navio);

        menuPorto.setText("Porto");

        menuPortoCadastrar.setText("Cadastrar");
        menuPortoCadastrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                menuPortoCadastrarActionPerformed(evt);
            }
        });
        menuPorto.add(menuPortoCadastrar);

        menuPortoAlterar.setText("Alterar");
        menuPorto.add(menuPortoAlterar);

        menuPortoConsultar.setText("Consultar");
        menuPorto.add(menuPortoConsultar);

        menuPortoExcluir.setText("Excluir");
        menuPorto.add(menuPortoExcluir);

        menuCadastroBasicos.add(menuPorto);

        barraMenu.add(menuCadastroBasicos);

        menuCadastroAdministrativo.setText("Cadastro Administrativo");

        jMenuItem7.setText("Funcionário");
        menuCadastroAdministrativo.add(jMenuItem7);

        jMenuItem8.setText("Turma");
        menuCadastroAdministrativo.add(jMenuItem8);

        jMenuItem9.setText("Turno");
        jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem9ActionPerformed(evt);
            }
        });
        menuCadastroAdministrativo.add(jMenuItem9);

        jMenuItem10.setText("Escala");
        menuCadastroAdministrativo.add(jMenuItem10);

        jMenuItem11.setText("Cracha Vale");
        menuCadastroAdministrativo.add(jMenuItem11);

        jMenuItem12.setText("Cracha CST");
        menuCadastroAdministrativo.add(jMenuItem12);

        jMenuItem13.setText("Cracha SunCoke");
        menuCadastroAdministrativo.add(jMenuItem13);

        barraMenu.add(menuCadastroAdministrativo);

        menuRelatorios.setText("Relatórios");

        itemCadastrarRelatorio.setText("Cadastrar Relatório");
        itemCadastrarRelatorio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemCadastrarRelatorioActionPerformed(evt);
            }
        });
        menuRelatorios.add(itemCadastrarRelatorio);

        itemAlterarRelatorio.setText("Alterar Relatório");
        menuRelatorios.add(itemAlterarRelatorio);

        itemConsultarRelatorio.setText("Consultar Relatório");
        menuRelatorios.add(itemConsultarRelatorio);

        itemExcluirRelatorio.setText("Excluir Relatório");
        menuRelatorios.add(itemExcluirRelatorio);

        barraMenu.add(menuRelatorios);

        setJMenuBar(barraMenu);

        pack();
    }// </editor-fold>

    private void itemCadastrarRelatorioActionPerformed(java.awt.event.ActionEvent evt) {                                                       

     npainelRelatorio.setBounds(0, 0, (int)dimensao.getWidth(), (int)dimensao.getHeight());
    // npainelRelatorio.setSize(getLargura(), getAltura());
     npainelRelatorio.setVisible(true);
     trocarPainel(npainelRelatorio);
    }                                                      

    private void itemMenuUsuarioCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                                         
        // TODO add your handling code here:
     npainelUsuario.setBounds(0, 0, [telefone removido], [telefone removido]);
     npainelUsuario.setVisible(true);
     trocarPainel(npainelUsuario);
    }                                                        

    private void itemMenuTipoUsuarioCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                                             
        // TODO add your handling code here:
     
     npainelTipoUsuario.setBounds(0, 0, [telefone removido], [telefone removido]);
     npainelTipoUsuario.setVisible(true);
     trocarPainel(npainelTipoUsuario);
    }                                                            

    private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:
    }                                          

    private void CadastrarNavioActionPerformed(java.awt.event.ActionEvent evt) {                                               
        // TODO add your handling code here:
     npainelNavio.setBounds(0, 0, [telefone removido], [telefone removido]);
     npainelNavio.setVisible(true);
     trocarPainel(npainelNavio);
    }                                              

    private void menuPortoCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
      npainelPorto.setBounds(0, 0, [telefone removido], [telefone removido]);
      npainelPorto.setVisible(true);
      trocarPainel(npainelPorto);
    }                                                  



    /**
    * @param args the command line arguments
    */

    // Variables declaration - do not modify
    private javax.swing.JMenuItem AlterarNavio;
    private javax.swing.JMenuItem CadastrarNavio;
    private javax.swing.JMenuItem ConsultarNavio;
    private javax.swing.JMenuItem ExcluirNavio;
    private javax.swing.JMenu Navio;
    private javax.swing.JMenuBar barraMenu;
    private javax.swing.JMenuItem itemAlterarRelatorio;
    private javax.swing.JMenuItem itemCadastrarRelatorio;
    private javax.swing.JMenuItem itemConsultarRelatorio;
    private javax.swing.JMenuItem itemExcluirRelatorio;
    private javax.swing.JMenuItem itemMenuTipoUsuarioAlterar;
    private javax.swing.JMenuItem itemMenuTipoUsuarioCadastrar;
    private javax.swing.JMenuItem itemMenuTipoUsuarioConsultar;
    private javax.swing.JMenuItem itemMenuTipoUsuarioExcluir;
    private javax.swing.JMenuItem itemMenuUsuarioAlterar;
    private javax.swing.JMenuItem itemMenuUsuarioCadastrar;
    private javax.swing.JMenuItem itemMenuUsuarioConsultar;
    private javax.swing.JMenuItem itemMenuUsuarioExcluir;
    private javax.swing.JMenuItem jMenuItem10;
    private javax.swing.JMenuItem jMenuItem11;
    private javax.swing.JMenuItem jMenuItem12;
    private javax.swing.JMenuItem jMenuItem13;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem jMenuItem8;
    private javax.swing.JMenuItem jMenuItem9;
    private javax.swing.JMenu menuCadastroAdministrativo;
    private javax.swing.JMenu menuCadastroBasicos;
    private javax.swing.JMenu menuPorto;
    private javax.swing.JMenuItem menuPortoAlterar;
    private javax.swing.JMenuItem menuPortoCadastrar;
    private javax.swing.JMenuItem menuPortoConsultar;
    private javax.swing.JMenuItem menuPortoExcluir;
    private javax.swing.JMenu menuRelatorios;
    private javax.swing.JMenu menuTipoUsuario;
    private javax.swing.JMenu menuUsuario;
    private javax.swing.JPanel painelPrincpal;
    // End of variables declaration

}

ERRO:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
        at org.netbeans.lib.awtextra.AbsoluteLayout.addLayoutComponent(Unknown Source)
        at java.awt.Container.addImpl(Container.java:1068)
        at java.awt.Container.add(Container.java:352)
        at GUI.JFrameSHIPS.trocarPainel(JFrameSHIPS.java:57)
        at GUI.JFrameSHIPS.itemCadastrarRelatorioActionPerformed(JFrameSHIPS.java:290)
        at GUI.JFrameSHIPS.access$500(JFrameSHIPS.java:22)
        at GUI.JFrameSHIPS$6.actionPerformed(JFrameSHIPS.java:264)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1261)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5806)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4413)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2440)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
CONSTRUÍDO COM SUCESSO (tempo total: 9 segundos)
Criado 19 de julho de 2010
Ultima resposta 19 de jul. de 2010
Respostas 2
Participantes 2