Resolução do JFrame e dos JTextButton

10 respostas
Naruto

Boa tarde galera estou criando uma aplicação em java usando o Netbeans 6.1 e deixei a resolução dela como 1280 X 800 la em Gerar codigo de redisionamento… porem se eu executo a minha aplicação em outra maquina que o monitor é diferente e a resolução tambem… o meu JFrame fica desconfigurado… tipo ele diminui e os JTextbutton o que passar daquele tamanho não aparecem tambem… alguem sabe o que eu faço para arrumar isso???

vlwwww

10 Respostas

M

Você está usando um gerenciador de leiaute ou deixou o Netbeans cuidar disso (está aí uma grande possível causa). Sugiro que ao invés de definir um tamanho, maximize a janela para evitar problemas com resolução de dela (maximize ao iniciar e use setResizable(false)).

Naruto

humm mais c eu uso o setResiseable(false) o JfRame quando abre ele nem aparece ele diminui hehehe e outro problema queria que ele cobrisse a minha barra de tarefas… tem como?? pq quando eu colocava o tamanho ele cobria a minha barra de tarefas agora nem :confused:
]

vlwww

Naruto

e nem deu certo tb… eu fui testa num monitor LCD aqui e viro uma bagunça

M

Ah… você quer que cubra a barra de tarefas também. Pode usa o fullscreen mode.

GraphicsDevice monitor = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
monitor.setFullScreenWindow(frame); // supondo que sua janela chame-se frame
Naruto

cara não deu certo :frowning: puts que treta fazer isso funcionar o.O

alguem mais tem alguma solução???

M

QUASE certeza que o problema é o gerenciador de leiaute. Se realmente for, pode ser que você tenha que refazer toda essa parte (logo, quase o programa inteiro). É por isso que estou muito bem com o Eclipse e seu plugin Visual Editor. Teria como postar o código da classe aqui pra gente olhar?

Naruto

hehe eu posto sim quando eu chegar… tipo tb achu que é o editor to usando o netbeans
vc sabe qual tipo de layout eu uso para pode deixar isso certo???

seria o GridBagLayout
vlwwww

M

Vai depender do que é sua aplicação. Em geral, BorderLayout e FlowLayout em conjunto (painéis dentro de outros) resolvem qualquer tipo de problema simples com leiaute. Mas com o código aqui ficaria mais fácil ajudar…

Naruto

Boa tarde, então cara olha estou usando o Layout absoluto e usando paineis com o layout absoluto tambem... so que os botões sai tudo cortado quando mudo a resolução ... o codigo fonte é este. por enquanto so tem codigo gerado pelo proprio netbeans

vlwwwww

/*
 * FrmPrincipal.java
 *
 * Created on 21 de Janeiro de 2009, 10:44
 */

package VIEW;



/**
 *
 * @author  Monkey D. Ruffy
 */
public class FrmPrincipal extends javax.swing.JFrame {

    /** Creates new form FrmPrincipal */
    public FrmPrincipal() {
        initComponents();
        setExtendedState(this.MAXIMIZED_BOTH);
    }

    /** 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() {

        jLabel2 = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jPanel1 = new javax.swing.JPanel();
        botao_internet_firewall_proxy = new javax.swing.JButton();
        botao_email_webmail = new javax.swing.JButton();
        botao_banco_dados = new javax.swing.JButton();
        botao_web_hospedagem = new javax.swing.JButton();
        botao_arquivos = new javax.swing.JButton();
        botao_ftp = new javax.swing.JButton();
        botao_dns = new javax.swing.JButton();
        botao_voip = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("SGS - Sistema de Gerênciamento de Servidores");
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/banner.png"))); // NOI18N
        getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(-20, 0, 780, -1));

        jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        getContentPane().add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 130, 190, 100));

        jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        botao_internet_firewall_proxy.setBackground(new java.awt.Color(204, 204, 204));
        botao_internet_firewall_proxy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icone1.png"))); // NOI18N
        botao_internet_firewall_proxy.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_internet_firewall_proxyActionPerformed(evt);
            }
        });
        jPanel1.add(botao_internet_firewall_proxy, new org.netbeans.lib.awtextra.AbsoluteConstraints(1, 0, 168, 142));

        botao_email_webmail.setBackground(new java.awt.Color(204, 204, 204));
        botao_email_webmail.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icone2.png"))); // NOI18N
        jPanel1.add(botao_email_webmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 0, 158, 142));

        botao_banco_dados.setBackground(new java.awt.Color(204, 204, 204));
        botao_banco_dados.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icone3.png"))); // NOI18N
        jPanel1.add(botao_banco_dados, new org.netbeans.lib.awtextra.AbsoluteConstraints(329, 0, 158, 142));

        botao_web_hospedagem.setBackground(new java.awt.Color(204, 204, 204));
        botao_web_hospedagem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icon4.png"))); // NOI18N
        jPanel1.add(botao_web_hospedagem, new org.netbeans.lib.awtextra.AbsoluteConstraints(488, 0, 158, 142));

        botao_arquivos.setBackground(new java.awt.Color(204, 204, 204));
        botao_arquivos.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icon5.png"))); // NOI18N
        botao_arquivos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_arquivosActionPerformed(evt);
            }
        });
        jPanel1.add(botao_arquivos, new org.netbeans.lib.awtextra.AbsoluteConstraints(647, 0, 159, 142));

        botao_ftp.setBackground(new java.awt.Color(204, 204, 204));
        botao_ftp.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icon6.png"))); // NOI18N
        jPanel1.add(botao_ftp, new org.netbeans.lib.awtextra.AbsoluteConstraints(807, 0, 159, 142));

        botao_dns.setBackground(new java.awt.Color(204, 204, 204));
        botao_dns.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icon7.png"))); // NOI18N
        jPanel1.add(botao_dns, new org.netbeans.lib.awtextra.AbsoluteConstraints(967, 0, 160, 142));

        botao_voip.setBackground(new java.awt.Color(204, 204, 204));
        botao_voip.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/icon8.png"))); // NOI18N
        jPanel1.add(botao_voip, new org.netbeans.lib.awtextra.AbsoluteConstraints(1128, 0, 150, 142));

        getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 240, 1280, 150));

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

private void botao_internet_firewall_proxyActionPerformed(java.awt.event.ActionEvent evt) {                                                              
new FrmInternet_Firewall_Proxy().setVisible(true);
}                                                             

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

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FrmPrincipal().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JButton botao_arquivos;
    private javax.swing.JButton botao_banco_dados;
    private javax.swing.JButton botao_dns;
    private javax.swing.JButton botao_email_webmail;
    private javax.swing.JButton botao_ftp;
    private javax.swing.JButton botao_internet_firewall_proxy;
    private javax.swing.JButton botao_voip;
    private javax.swing.JButton botao_web_hospedagem;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    // End of variables declaration

}
ViniGodoy

Não use layout absoluto ou nulllayout. Aprenda sobre o flowlayout, border layout e gridbaglayout. Os três fazem qualquer tela e, melhor, redimensionáveis.

Ou, antes que o Thingol faça propaganda, aprenda sobre MigLayout.

Criado 14 de janeiro de 2009
Ultima resposta 21 de jan. de 2009
Respostas 10
Participantes 3