help on this code
plse thanks for last times code.Eric this is my last assignment for the semister and is due today can you plse help me out. the program is use a priority Queue as its data structure and its encapsulated in an interface. plse help me on how to store data into the queue through the dialog box. the dialog box is gotten when the Add Call button is pressed. the data should be added to the end of the queue by using this method enqueue(WaitingCustomer item) in the interface.
enqueue():add the WaitingCustomer to the end of the queue. if the WaitingCustomer object is a Vip client, the object should be added ahead of all non vip customers(but behind any existing vips in the queue.
dequeue(): make the next Waiting Customer off the queue. if the queue is empty, it should return a null reference.
vipCount(): give a count of number of vips that are currently waiting in the queue.
size(): return the total number of customers waiting waiting in the queue
isEmpty(): return whether or not the queue is empty.
So far this is what i have done to and so plse run it and help me out b4 late today or tommorrow. thanks
/*Author : George Finishdd Gyau
Date : 2nd November 2003
*/
package star;
//java core packages
import java.awt.*;
import java.awt.event.*;
import java.util.*;
//java extended packages
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.border.TitledBorder;
public class BlueStarAirLine extends JFrame {
private JPanel customerPanel;
private JPanel queuePanel;
//labels and fields for the current customer border
private JLabel cNlabel;
private JLabel cTlabel;
private JLabel Viplabel;
private JTextField cNfield;
private JTextField cTfield;
//labels and fields for the queue functions border
private JLabel qVlabel;
private JLabel qTlabel;
private JTextField qVfield;
private JTextField qTfield;
private JButton nbtn;
private JButton abtn;
//set up GUI
public BlueStarAirLine() {
super("BlueStar AirLine");
customerPanel = new JPanel();
customerPanel.setLayout(new GridLayout(0,2,3,3));
JPanel clfPanel = new JPanel();
clfPanel.setLayout(new GridLayout(0,2,3,3));
cNlabel = new JLabel("Name");
cTlabel = new JLabel("Telephone");
cNfield = new JTextField(10);
cNfield.setEditable(false);
cTfield = new JTextField(10);
cTfield.setEditable(false);
clfPanel.add(cNlabel);
clfPanel.add(cNfield);
clfPanel.add(cTlabel);
clfPanel.add(cTfield);
customerPanel.add(clfPanel, new BorderLayout().EAST);
JPanel vipPanel = new JPanel();
JLabel label = new JLabel("VIP Customer");
label.setEnabled(false);
vipPanel.add(label, new BorderLayout().SOUTH);
customerPanel.add(vipPanel, new BorderLayout().WEST);
queuePanel = new JPanel();
queuePanel.setLayout(new GridLayout(0,2,3,3));
JPanel lfPanel = new JPanel();
lfPanel.setLayout(new GridLayout(0,2,3,3));
qVlabel = new JLabel("VIPs Waiting");
qTlabel = new JLabel("Total Waiting");
qVfield = new JTextField(15);
qVfield.setEditable(false);
qTfield = new JTextField(15);
qTfield.setEditable(false);
lfPanel.add(qVlabel);
lfPanel.add(qVfield);
lfPanel.add(qTlabel);
lfPanel.add(qTfield);
JPanel btnPanel = new JPanel();
btnPanel.setLayout(new GridLayout(0,2,3,3));
Box box = new Box(BoxLayout.Y_AXIS);
nbtn = new JButton("Next in Queue");
abtn = new JButton("Add Call");
abtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
Dialog d = new Dialog();
d.show();
}
});
box.add(nbtn);
box.add(abtn);
btnPanel.add(box, new BorderLayout().WEST);
queuePanel.add(lfPanel, new BorderLayout().NORTH);
queuePanel.add(btnPanel, new BorderLayout().SOUTH);
//
TitledBorder cborder = BorderFactory.createTitledBorder("Current Customer");
TitledBorder qborder = BorderFactory.createTitledBorder("Queue Functions");
customerPanel.setBorder(cborder);
queuePanel.setBorder(qborder);
//adding the panels to the contentPane().
getContentPane().add(customerPanel, new BorderLayout().NORTH);
getContentPane().add(queuePanel, new BorderLayout().SOUTH);
setSize(500,200);
setResizable(false);
setLocation(200,200);
setVisible(true);
}
//the main method
public static void main(String args[]) {
BlueStarAirLine airLine = new BlueStarAirLine();
airLine.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
//the add Dialog class
class Dialog extends JDialog {
private JLabel nlabel;
private JTextField nfield;
private JLabel tlabel;
private JTextField tfield;
private JCheckBox check;
private JButton sbtn, cbtn;
WaitingCustomer item = new WaitingCustomer();
CustomerQueue queue = new List();
public Dialog() {
Container c = getContentPane();
JPanel pane = new JPanel();
pane.setLayout(new GridLayout(0,2));
nlabel = new JLabel("Name");
nfield = new JTextField(10);
tlabel = new JLabel("Tel Number");
tfield = new JTextField(10);
check = new JCheckBox("Vip Status");
check.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent item) {
nfield.getText();
tfield.getText();
nfield.setText("");
tfield.setText("");
}
});
sbtn = new JButton("Save");
sbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String s = (String)nfield.getText();
queue.enqueue(item);
String t = (String)tfield.getText();
//queue.enqueue(item) = t;
nfield.setText("");
tfield.setText("");
}
});
cbtn = new JButton("Cancel");
cbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
JOptionPane.showMessageDialog(Dialog.this, "Vetting Committee was CORRUPT, They all say SOOOOOO!!!");
closeForm();
}
});
pane.add(nlabel);
pane.add(nfield);
pane.add(tlabel);
pane.add(tfield);
pane.add(check);
JPanel pan = new JPanel();
pan.setLayout(new FlowLayout());
pan.add(sbtn);
pan.add(cbtn);
c.add(pane, new BorderLayout().NORTH);
c.add(pan, new BorderLayout().SOUTH);
setSize(300,150);
setLocation(200,200);
setResizable(false);
setVisible(true);
}
private void closeForm(){
this.dispose();
}
}
interface CustomerQueue {
public void enqueue(WaitingCustomer item);
public WaitingCustomer dequeue();
public int vipCount();
public int size();
public boolean isEmpty();
}
//WaitingCustomer class
class WaitingCustomer {
private String custName;
private String telNumber;
private boolean vipCustomer;
WaitingCustomer() {
}
WaitingCustomer(String name, String tel, boolean vip) {
custName = name;
telNumber = tel;
vipCustomer = vip;
}
public String getCustName() {
return custName;
}
public String getTelNumber() {
return telNumber;
}
public boolean getVipCustomer() {
return vipCustomer;
}
public void setCustName(String s) {
custName = s;
}
public void setTelNumber(String t) {
telNumber = t;
}
/*public void setVipCustomer(String v) {
vipCustomer = v;
}*/
}
//ListNode class
/*class ListNode {
String namee;
String tel;
boolean vip;
WaitingCustomer cust = new WaitingCustomer(namee,tel,vip);
ListNode next;
public ListNode() {
}
public ListNode(WaitingCustomer item) {
cust = item;
}
}
//List class
class List implements CustomerQueue {
ListNode head;
ListNode tail;
int size;
int vipCount;
WaitingCustomer dequeue;
List() {
head = null;
size = 0;
}
public void enqueue(WaitingCustomer item) {
ListNode newNode = new ListNode();
if (size == 0)
{
head = newNode;
tail = head;
}
else
{
tail.setNext(newNode);
tail = tail.getNext();
}
size++;
}
public WaitingCustomer dequeue() throws EmptyQueueException {
WaitingCustomer data;
if (size == 0)
{
throw new EmptyQueueException();
}
else
{
data = head.getData();
head = head.getNext();
size--;
}
return data;
}
public int vipCount() {
return vipCount;
}
public int size() {
return size;
}
public boolean isEmpty() {
return true;
}
}
// Exception class
class EmptyQueueException extends Exception
{
EmptyQueueException()
{
super();
}
}
class ListNode
{
private ListNode next;
private WaitingCustomer data;
ListNode()
{
next = null;
data = null;
}
ListNode(WaitingCustomer inData)
{
next = null;
data = inData;
}
ListNode(WaitingCustomer inData, ListNode inNext)
{
next = inNext;
data = inData;
}
WaitingCustomer getData()
{
return data;
}
void setData(WaitingCustomer inData)
{
data = inData;
}
ListNode getNext()
{
return next;
}
void setNext(ListNode inNext)
{
next = inNext;
}
}
*/
|