import java.awt.*;
import java.awt.event.*;
import java.util.Hashtable;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionListener;
public class GUIFrame extends Frame implements ActionListener {
MenuBar menubar = new MenuBar();
Menu menu;
Menu submenu;
MenuItem menuItem;
MenuItem closeItem;
MenuItem clientsItem;
MenuItem aclientsItem;
MenuItem dclientsItem;
List list = new List();
List listA = new List();
List listD = new List();
Panel p = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
JTree tree;
GUIFrame() {
setLayout(new BorderLayout());
p.setLayout(new BorderLayout());
add(p);
//p.setSize(695,600);
//p.add(new Nexos(),BorderLayout.CENTER);
add(p3, BorderLayout.WEST);
String[][] sampleData = {
{"Clients"}, {"Active Clients", "Deact Clients", "All Clients"},
{"Moudules"}, {"List Modules"},
};
Hashtable h = new Hashtable();
for (int i = 0; i < sampleData.length; i+=2) {
h.put(sampleData[i][0], sampleData[i + 1]);
}
tree = new JTree(h);
p3.setLayout(new BorderLayout());
p3.setSize(200,600);
p3.add(tree, BorderLayout.CENTER);
p3.setVisible(true);
addWindowListener(new WindowAdapter () {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//erstes menu
menu = new Menu("File");
menubar.add(menu);
closeItem = new MenuItem("Close");
closeItem.addActionListener(this);
menu.add(closeItem);
//zweites menu
menu = new Menu("List");
menubar.add(menu);
submenu = new Menu("Clients");
menu.add(submenu);
//untermenu Clients
clientsItem = new MenuItem("All Clients");
clientsItem.addActionListener(this);
submenu.add(clientsItem);
aclientsItem = new MenuItem("Active Clients");
aclientsItem.addActionListener(this);
submenu.add(aclientsItem);
dclientsItem = new MenuItem("Deactive Clients");
dclientsItem.addActionListener(this);
submenu.add(dclientsItem);
setMenuBar(menubar);
setTitle ("Nexocor");
setSize(895, 600);
setLocationRelativeTo(null);
setVisible(true);
}
//frame close
public void actionPerformed(ActionEvent e) {
if (e.getSource() == closeItem) {
setVisible(false);
dispose();
System.exit(0);
}
else if (e.getSource() == clientsItem) {
clientFrame();
}
else if(e.getSource() == aclientsItem) {
aclientFrame();
}
else if(e.getSource() == dclientsItem) {
dclientFrame();
}
}
//ausgabe der der clients
public String getInhalt() {
InputClient clist = new InputClient();
System.out.println(clist.GetNumberOfClients());
Font heading = new Font("Courier", Font.BOLD, 14);
list.add("ALL CLIENTS");
list.add("-----------");
list.add(" ");
for (int i = 0; i < clist.GetNumberOfClients(); ++i) {
System.out.println("processing client" + i);
Client c = clist.GetClient(i);
list.add("install client hostname: " + c.installClientHostname);
list.add("client name: " + c.clientName);
list.add("architecture: " + c.arch);
list.add("release: " + c.release);
list.add("directory: " + c.directory);
list.add("activation date: " + c.activationDate);
list.add("activator: " + c.activator);
list.add("*************************************");
}
return list.toString();
}
//ausgabe der aktiven clients
public String getInhaltA() {
InputClient clist = new InputClient();
System.out.println(clist.GetNumberOfClients());
Font heading = new Font("Courier", Font.BOLD, 14);
list.add("ACTIVE CLIENTS");
list.add("-----------");
list.add(" ");
for (int i = 0; i < clist.GetNumberOfActClients(); ++i) {
System.out.println("processing client" + i);
Client c = clist.GetActClient(i);
list.add("install client hostname: " + c.installClientHostname);
list.add("client name: " + c.clientName);
list.add("architecture: " + c.arch);
list.add("release: " + c.release);
list.add("directory: " + c.directory);
list.add("activation date: " + c.activationDate);
list.add("activator: " + c.activator);
list.add("*************************************");
}
return list.toString();
}
//ausgabe der deaktivierten clients
public String getInhaltD() {
InputClient clist = new InputClient();
System.out.println(clist.GetNumberOfClients());
Font heading = new Font("Courier", Font.BOLD, 14);
//setFont(heading);
list.add("DEACT CLIENTS");
list.add("-----------");
list.add(" ");
for (int i = 0; i < clist.GetNumberOfDeactClients(); ++i) {
System.out.println("processing client" + i);
Client c = clist.GetDeactClient(i);
list.add("install client hostname: " + c.installClientHostname);
list.add("client name: " + c.clientName);
list.add("architecture: " + c.arch);
list.add("release: " + c.release);
list.add("directory: " + c.directory);
list.add("activation date: " + c.activationDate);
list.add("activator: " + c.activator);
list.add("*************************************");
}
return list.toString();
}
//fenster generierung für clients
public void clientFrame() {
list.removeAll();
list.setFont(new Font("Courier", Font.BOLD, 14));
list.setBackground(Color.white);
list.setSize(795, 500);
getInhalt();
p.setVisible(false);
add(p2);
p2.setLayout(new BorderLayout());
p2.remove(list);
p2.add(list, BorderLayout.CENTER);
list.setVisible(true);
validate();
}
// fenster generierung für aktive clients
public void aclientFrame() {
list.removeAll();
list.setFont(new Font("Courier", Font.BOLD, 14));
list.setBackground(Color.white);
list.setSize(795, 500);
getInhaltA();
p.setVisible(false);
add(p2);
p2.setLayout(new BorderLayout());
p2.remove(list);
p2.add(list, BorderLayout.CENTER);
list.setVisible(true);
validate();
}
// fenster generierung für deaktivierte clients
public void dclientFrame() {
list.removeAll();
list.setFont(new Font("Courier", Font.BOLD, 14));
list.setBackground(Color.white);
list.setSize(795, 500);
getInhaltD();
p.setVisible(false);
add(p2);
p2.setLayout(new BorderLayout());
p2.remove(this);
p2.add(list, BorderLayout.CENTER);
list.setVisible(true);
validate();
}
public static void main(String [] args) {
new GUIFrame();
}
}
/*class Nexos extends Canvas{
public void paint (Graphics g) {
g.setColor(Color.white);
g.fillRect(0,0,895,1000);
g.setColor(new Color(25,30,114));
g.fillRect(0,0,600,115);
g.setColor(Color.red);
g.fillRect(655,0,240,115);
g.setColor(new Color(25,30,114));
g.setFont(new Font("Frutiger" ,Font.BOLD, 160));
g.drawString("nexocor" ,80,400);
g.setColor(Color.red);
g.setFont(new Font("Frutiger" , Font.BOLD, 30));
g.drawString("Smart Engineering Server",365,450);
}
}*/