package cs380assignment1; import javax.swing.*; // For JFrame import java.awt.*; /** @author webster*/ public class Main { public static void main(String[] args) { JFrame myWindow = new JFrame(); JPanel p = new JPanel(); myWindow.setTitle("Dr. Webster's Sleeping Barber Problem CS380Program"); myWindow.setSize(300, 300); myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); TextArea textarea = new TextArea(20, 60); textarea.setFont(new Font("Helvetica", Font.PLAIN, 12)); textarea.setEditable(false); JFrame myMainWindow = new JFrame(); myMainWindow.setTitle("Dr. Webster's Sleeping Barber Problem CS380 Program"); myMainWindow.setSize(700, 700); myMainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container pane = myWindow.getContentPane(); pane.add("Center", textarea); textarea.append("Sleeping Barber Problem CS380 in Java!!!\n"); myWindow.setVisible(true); myMainWindow.setVisible(true); WaitRoom wr = new WaitRoom(0, 10); MyCanvas mycanvas = new MyCanvas(wr); Semaphore s = new Semaphore(1,1); Semaphore delay = new Semaphore(0,1); Semaphore customerGoing = new Semaphore(0,1); Semaphore barberGoing = new Semaphore(0,1); Customer customer = new Customer("Customer", textarea, 3000, wr, mycanvas, s, delay, customerGoing); Barber barber = new Barber("Barber", textarea, 6000, wr, mycanvas, s, delay, barberGoing); MyPanelTop mytop = new MyPanelTop(customer, barber, textarea, customerGoing, barberGoing); Container mainpane = myMainWindow.getContentPane(); wr.setPanelTop(mytop); mytop.setPreferredSize(new Dimension(200, 130)); mainpane.add(mytop, BorderLayout.PAGE_START); mainpane.add(mycanvas, BorderLayout.CENTER); myMainWindow.setVisible(true); } }