I made this login thing (doesn't log in yet), and I have a problem. One of the rows doesn't show. The JPanel loginRow doesn't appear. The JPanels logoRow and buttonRow appear, but not the other row.

Code:
package IBS;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

class Login extends JFrame {    
    Login() {
        super("Interxet Business Solutions");
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        LoginPanel lp = new LoginPanel();
        add(lp);
        setVisible(true);
    }
}

class LoginPanel extends JPanel implements ActionListener {
    ImageIcon logoIcon = new ImageIcon("C:\\Documents and Settings\\Compaq_Owner\\IBS\\ibs.jpg");
    JLabel logo = new JLabel(logoIcon);
    JLabel username = new JLabel("Username:");
    JLabel password = new JLabel("Password:");
    JTextField textUser = new JTextField(20);
    JTextField textPass = new JTextField(20);
    JButton login = new JButton("Login");
    JPanel logoRow = new JPanel();
    JPanel loginRow = new JPanel();
    JPanel buttonRow = new JPanel();
    JPanel loginRowOne = new JPanel();
    JPanel loginRowTwo = new JPanel();
    
    LoginPanel() {
        BorderLayout bl = new BorderLayout();
        setLayout(bl);
        FlowLayout center = new FlowLayout(FlowLayout.CENTER);
        FlowLayout left = new FlowLayout(FlowLayout.LEFT);
        
        logoRow.setLayout(left);
        loginRow.setLayout(bl);
        buttonRow.setLayout(center);
        loginRowOne.setLayout(center);
        loginRowTwo.setLayout(center);
        
        login.addActionListener(this);
        
        logoRow.add(logo);
        loginRowOne.add(username);
        loginRowOne.add(textUser);
        loginRowTwo.add(password);
        loginRowTwo.add(textPass);
        loginRow.add(loginRowOne, BorderLayout.NORTH);
        loginRow.add(loginRowTwo, BorderLayout.CENTER);
        buttonRow.add(login);
        
        add(logoRow, BorderLayout.NORTH);
        add(loginRow, BorderLayout.CENTER);
        add(buttonRow, BorderLayout.SOUTH);
    }
    
    public void actionPerformed(ActionEvent evt) {
        Object o = evt.getSource();
        if(o == login) {
            Error x = new Error(textUser.getText(), textPass.getText());
        }
    }
}

class Error extends JFrame implements ActionListener {
    JLabel labelOne = new JLabel("Text One");
    JLabel labelTwo = new JLabel("Text Two");
    JButton ok = new JButton("Ok");
    JPanel row1 = new JPanel();
    JPanel row2 = new JPanel();
    JPanel row3 = new JPanel();
    
    Error(String textOne, String textTwo) {
        super("Error");
        setSize(150, 150);
        setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        
        BorderLayout bl = new BorderLayout();
        setLayout(bl);
        FlowLayout center = new FlowLayout(FlowLayout.CENTER);
        
        row1.setLayout(center);
        row2.setLayout(center);
        row3.setLayout(center);
        
        labelOne.setText(textOne);
        labelTwo.setText(textTwo);
        
        ok.addActionListener(this);
        
        row1.add(labelOne);
        row2.add(labelTwo);
        row3.add(ok);
        
        add(row1, BorderLayout.NORTH);
        add(row2, BorderLayout.CENTER);
        add(row3, BorderLayout.SOUTH);
        
        setVisible(true);
    }
    
    public void actionPerformed(ActionEvent evt) {
        Object o = evt.getSource();
        if(o == ok) {
            setVisible(false);
        }
    }
}
   
class Main {
    public static void main(String args[]) {
        Login x = new Login();
    }
}