1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
| import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.BorderFactory;
import javax.swing.border.Border;
public class MainScreen extends JFrame
{
//---------------------------------------------------------------
//Class level variables
//---------------------------------------------------------------
//Menus
private JMenu FileMenu;
private JMenu SalesOrderMenu;
private Border loweredbevel;
private JLabel statusLabel;
private SapConnection sapConnection;
private LogonScreen logonscreen1;
//------------------------------------------------------------------
// Constructor class
//------------------------------------------------------------------
public MainScreen()
{ //---------------------------------------------------------------
//Set frame properties
//---------------------------------------------------------------
setSize(700,600);
setTitle("Sales orders");
// Exit applikation when using the Close button
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//---------------------------------------------------------------
// Center screen
//---------------------------------------------------------------
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
Container myPane = getContentPane();
//---------------------------------------------------------------
// Add menus
//---------------------------------------------------------------
//Actions
Action LogOn = new MenuActions("Logon","LOGON");
Action LogOff = new MenuActions("Logoff","LOGOFF");
Action exitApp = new MenuActions("Exit","EXIT_APP");
Action CreateOrder = new MenuActions("Create salesorder","CREATE_ORDER");
Action ViewOrder = new MenuActions("View order status","VIEW_ORDER");
// File menu
FileMenu = new JMenu("File");
FileMenu.add(LogOn);
FileMenu.add(LogOff);
FileMenu.add(exitApp);
// Sales order menu
SalesOrderMenu = new JMenu("Sales order");
SalesOrderMenu.add(CreateOrder);
SalesOrderMenu.add(ViewOrder);
//Implement menu bar
JMenuBar MenuBar = new JMenuBar();
MenuBar.add(FileMenu);
MenuBar.add(SalesOrderMenu);
setJMenuBar(MenuBar);
//Create status label with lowered border
loweredbevel = BorderFactory.createLoweredBevelBorder();
statusLabel = new JLabel("Status: Logged off");
statusLabel.setBorder(loweredbevel);
myPane.add(statusLabel,"South");
//Initialize Logoon screen class
logonscreen1 = new LogonScreen(this);
sapConnection = new SapConnection();
} // public MainScreen()
//---------------------------------------------------------------
// CLASS MenuActions - Private class to handle menu actions
//---------------------------------------------------------------
class MenuActions extends AbstractAction
{
public MenuActions(String p_name,String p_Action)
{ putValue(Action.NAME, p_name);
putValue("myAction", p_Action);
}
public void actionPerformed(ActionEvent evt)
{ String actionType = (String)getValue("myAction");
if ( actionType == "EXIT_APP" )
System.exit(0);
else if ( actionType == "LOGON" )
SapLogon();
else if ( actionType == "LOGOFF" )
SapLogoff();
else if ( actionType == "CREATE_ORDER" )
CreateOrder();
else if ( actionType == "VIEW_ORDER" )
ViewOrder();
}
}
//---------------------------------------------------------------
// Private method SapLogon - Logon to SAP, shows the LogonScreen
//---------------------------------------------------------------
private void SapLogon()
{ logonscreen1.show();
if ( sapConnection.mConnection == null )
{ statusLabel.setText("Status: Logged off"); }
else
{ statusLabel.setText("Status: Logged on"); }
}
//---------------------------------------------------------------
// Private method SapLogoff - Calls the SapLogoff method of the
// LogonScreen class
//---------------------------------------------------------------
private void SapLogoff()
{ logonscreen1.SapLogoff();
if ( sapConnection.mConnection == null )
{ statusLabel.setText("Status: Logged off"); }
else
{ statusLabel.setText("Status: Logged on"); }
}
//---------------------------------------------------------------
// Private method CreateOrder - Calls the CreateOrder screen
//---------------------------------------------------------------
private void CreateOrder()
{ CreateOrder createOrder = new CreateOrder(this);
createOrder.show();
}
//---------------------------------------------------------------
// Private method ViewOrder - Calls the ViewOrder screen
//---------------------------------------------------------------
private void ViewOrder()
{ ViewOrder viewOrder = new ViewOrder(this);
viewOrder.show();
}
} //END public class MainScreen extends JFrame |
Partager