import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Timer;
import java.util.TimerTask;
// Graphical-User-Interface for Desktop in Java using Java Swing.
public class MenuJFrame extends JFrame implements ActionListener {
private JFrame frame;
private JMenuBar menubar;
private JMenu menu;
private JLabel message = new JLabel("Click on Menu to select an action.");
public final String[] MENUS = { // 1D Array of Menu Choices
"Mean and Median", "Colors", "Loading bar",
};
// Statics to assist with timer and messaging, single copy (no instance)
private static int delay = 20;
private static int step = 1;
private static String hashes = "";
// Constructor enables the Frame instance, the object "this.frame"
public MenuJFrame(String title) {
// Initializing Key Objects
frame = new JFrame(title);
menubar = new JMenuBar();
menu = new JMenu("Menu");
// Initializing Menu objects and adding actions
for (String mx : MENUS) {
JMenuItem m = new JMenuItem(mx);
m.addActionListener(this);
menu.add(m);
}
// Adding / Connecting Objects
menubar.add(menu);
frame.setJMenuBar(menubar);
frame.add(message);
// Sets JFrame close operation to Class variable JFrame.EXIT_ON_CLOSE
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// set the size of window based on objects
frame.setSize(300,200);
// makes the frame object visible according to properties previously set
frame.setVisible(true); // flow of control shifts to frame object
}
// event from user selecting a menu option
public void actionPerformed(ActionEvent e) {
// local variable to ActinEvent
String selection = e.getActionCommand(); // menu selection
String msg; // local variable to create response from action
final String[] COLORS = {"Red", "Green", "Blue"}; // add more colors here
final String start_msg = "<html>"; // html building
final String end_msg = "</html>";
final String hash = "#";
// run code based on the menuItem that was selected
if ( selection.equals(MENUS[0]) ) {
action1(start_msg, end_msg);
} else if ( selection.equals(MENUS[1]) ) {
} else {
message.setText("Spooky");
}
}
public void action1(String start_msg, String end_msg) {
String msg;
int data1 = 1;
int data2 = 2;
int data3 = 3;
double mean = (double) (data1 + data2 + data3) / 3;
int median = data2;
msg = start_msg;
msg += "The data is " + data1 + ", " + data2 + ", " + data3 + ".<br>The mean is " + mean + ". The median is " + median + ".";
msg += end_msg;
message.setText(msg);
}
// Driver turn over control the GUI
public static void main(String[] args) {
// Activates an instance of MenuJFrame class, which makes a JFrame object
new MenuJFrame("Menu");
}
}
MenuJFrame.main(null);