Click here to Skip to main content
15,881,709 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Even though I have set the inputPanel layout to GridLayout(4,1), when I run my program, the urlPanel,userPanel,passwordPanel and buttonPanel panels (all of which are contained in the inputPanel) are not displayed in the graphical user interface.

My code:

Java
package ProjetoFaculdade;

import java.awt.event.ActionEvent;


public class TelaLogin extends javax.swing.JFrame implements java.awt.event.ActionListener{

    public javax.swing.JButton jButton = new javax.swing.JButton();

    public TelaLogin()
    {
        this.setTitle("Login");
        this.setSize(600,340);
        this.setVisible(true);
        this.setResizable(false);
        this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
        this.setLayout(new java.awt.GridLayout(1,2));
        this.setLocationRelativeTo(null);
        
        //imgPanel setup
        javax.swing.JPanel imgPanel = new javax.swing.JPanel();
        imgPanel.setLayout(new java.awt.BorderLayout());
        imgPanel.setBackground(new java.awt.Color(174,226,245));

            //tittle label
            javax.swing.JLabel tittlLabel = new javax.swing.JLabel();
            tittlLabel.setText("DataBase Manager");
            tittlLabel.setIcon(new javax.swing.ImageIcon("ProjetoFaculdade\\imagens\\icons8_database_view_95px.png"));
            tittlLabel.setHorizontalTextPosition(javax.swing.JLabel.CENTER);
            tittlLabel.setVerticalTextPosition(javax.swing.JLabel.BOTTOM);
            tittlLabel.setFont(new java.awt.Font("Sans Serif",java.awt.Font.ITALIC,18));
            tittlLabel.setVerticalAlignment(javax.swing.JLabel.CENTER);
            tittlLabel.setHorizontalAlignment(javax.swing.JLabel.CENTER);
            imgPanel.add(tittlLabel,java.awt.BorderLayout.CENTER);
            
        //inputPanel setup
        javax.swing.JPanel inputPanel = new javax.swing.JPanel();
        inputPanel.setLayout(new java.awt.GridLayout(4,1));
        inputPanel.setBackground(new java.awt.Color(242,242,242));

             //urlPanel setup
             javax.swing.JPanel urlPanel = new javax.swing.JPanel();
             urlPanel.setLayout(new java.awt.BorderLayout());
             urlPanel.setBackground(new java.awt.Color(242,242,242));
             inputPanel.add(urlPanel);

                 fillEdges(urlPanel, 40, 40, 242, 242, 242);

                //url Text Field
                 javax.swing.JTextField urlTextField = new javax.swing.JTextField();
                 urlTextField.setFont(new java.awt.Font("Sans Serif",java.awt.Font.ITALIC,13));
                 urlTextField.setText("DataBase URL");
                 urlTextField.setPreferredSize(new java.awt.Dimension(30,20));
                 urlPanel.add(urlTextField, java.awt.BorderLayout.CENTER);



            //userPanel setup
            javax.swing.JPanel userPanel = new javax.swing.JPanel();
            userPanel.setLayout(new java.awt.BorderLayout());
            userPanel.setBackground(new java.awt.Color(242,242,242));
            inputPanel.add(userPanel);

                fillEdges(userPanel, 40, 40, 242, 242, 242);

                //user text Field
                   javax.swing.JTextField userTextField = new javax.swing.JTextField();
                   userTextField.setFont(new java.awt.Font("Sans Serif",java.awt.Font.ITALIC,13));
                   userTextField.setText("User");
                   userTextField.setPreferredSize(new java.awt.Dimension(30,20));
                   userPanel.add(userTextField, java.awt.BorderLayout.CENTER);

            //passwordPanel setup
            javax.swing.JPanel passwordPanel = new javax.swing.JPanel();
            passwordPanel.setLayout(new java.awt.BorderLayout());
            passwordPanel.setBackground(new java.awt.Color(242,242,242));
            inputPanel.add(passwordPanel);

                fillEdges(passwordPanel, 40, 40, 242, 242, 242);

                //password text Field
                    javax.swing.JTextField passwordTextField = new javax.swing.JTextField();
                    passwordTextField.setFont(new java.awt.Font("Sans Serif",java.awt.Font.ITALIC,13));
                    passwordTextField.setText("Password");
                    passwordTextField.setPreferredSize(new java.awt.Dimension(30,20));
                    passwordPanel.add(passwordTextField, java.awt.BorderLayout.CENTER);

            //buttonPanel setup
            javax.swing.JPanel buttonPanel = new javax.swing.JPanel();
            buttonPanel.setLayout(new java.awt.BorderLayout());
            buttonPanel.setBackground(new java.awt.Color(242,242,242));
            inputPanel.add(buttonPanel);
            
            fillEdges(buttonPanel, 40, 40, 242, 242, 242);

                  //JButton
                    javax.swing.JButton jButton = new javax.swing.JButton();
                    jButton.setText("Log in");
                    jButton.setFont(new java.awt.Font("Sans Serif",java.awt.Font.ITALIC,13));
                    jButton.setPreferredSize(new java.awt.Dimension(20,10));
                    buttonPanel.add(jButton, java.awt.BorderLayout.CENTER);


        this.add(imgPanel);
        this.add(inputPanel);
        
    }

    private void fillEdges(javax.swing.JPanel jPanel,int x,int y,int r,int g, int b)
    {
        jPanel.setLayout(new java.awt.BorderLayout());

        javax.swing.JPanel northPanel = new javax.swing.JPanel();
                northPanel.setBackground(new java.awt.Color(r,g,b));
                jPanel.add(northPanel, java.awt.BorderLayout.NORTH);
                northPanel.setPreferredSize(new java.awt.Dimension(x,y));
 
                javax.swing.JPanel eastPanel = new javax.swing.JPanel();
                eastPanel.setBackground(new java.awt.Color(r,g,b));
                jPanel.add(eastPanel,java.awt.BorderLayout.EAST);
                eastPanel.setPreferredSize(new java.awt.Dimension(x,y));
 
                javax.swing.JPanel southPanel = new javax.swing.JPanel();
                southPanel.setBackground(new java.awt.Color(r,g,b));
                jPanel.add(southPanel, java.awt.BorderLayout.SOUTH);
                southPanel.setPreferredSize(new java.awt.Dimension(x,y));
 
                javax.swing.JPanel westPanel = new javax.swing.JPanel();
                westPanel.setBackground(new java.awt.Color(r,g,b));
                jPanel.add(westPanel, java.awt.BorderLayout.WEST);
                westPanel.setPreferredSize(new java.awt.Dimension(x,y));
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        
    }

    public static void main(String[] args) {
        TelaLogin telaLogin = new TelaLogin();
    }

                  
}


What I have tried:

I tried using only 3 panels inside input Panel(url Panel,userPanel,passwordPanel) and the GUI was displayed without any problem.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900