import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.border.Border;
public class GuiController extends JFrame {
private CentreFrameController centreFrameController;
private CustomerPage customerPage;
private LoginPage loginPage;
public GuiController(){
centreFrameController=new CentreFrameController(this);
setLayout(new BorderLayout());
add(centreFrameController,BorderLayout.CENTER);
setTitle("Courier System-Login Page");
setVisible(true);
setSize(550,650);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
CentreFrameController
import java.awt.BorderLayout;
import java.awt.Graphics;
import javax.swing.JPanel;
public class CentreFrameController extends JPanel {
private GuiController guiController;
private CustomerPage customerPage;
private LoginPage loginPage;
public CentreFrameController(GuiController guiController){
this.guiController=guiController;
loginPage=new LoginPage(this);
setLayout(new BorderLayout());
add(loginPage,BorderLayout.CENTER);
loginPage.addLoginPageListener(new LoginPageListener(){
public void getLoginPageReply(int reply) {
switch(reply){
case 0:System.out.println("Customer login sucess");
setCustomerHomePage();
break;
case 1:System.out.println("Admin login success");
}
}
});
}
public void setCustomerHomePage(){
customerPage=new CustomerPage(this,loginPage);
add(customerPage,BorderLayout.CENTER);///This is the part which is not working
}
}
The aim of this part of the code is:
- I want to make the
GuiController
frame have some common style for my application on all pages (irrespective of any activity) - The
GuiController
frame gives the center element styling of theBorderLayout
to theCentreFrameController
panel - Now the
CentreFrameController
should switch pages after hearing from theLoginListener
. But here,when it hears fromLoginListener
, it's not adding theCustomerPage
to its layout (please note that here, theCustomerPage
class is made to extendJPanel
and I have not uploaded that because its not really necessary).