/** sets this user to be an admin */ public void setAdmin() { admin = true; popup.add("kick user").addActionListener(myAction); if (chanAdmin) { butCreate.setEnabled(true); } }
/** * used to manage the connection icons to signify connection and secure status * * @param b true if connected */ public void setConnected(boolean b) { if (b) { conIcon.setIcon(conYes); conIcon.setToolTipText("Connected"); secIcon.setIcon(secYes); secIcon.setToolTipText("Secure Connection"); butChannel.setEnabled(true); } else { conIcon.setIcon(conNo); conIcon.setToolTipText("Not Connected"); secIcon.setIcon(secNo); secIcon.setToolTipText("Connection not Secured"); butChannel.setEnabled(false); butCreate.setEnabled(false); butInvite.setEnabled(false); } }
ToolPanel() { this.setRollover(true); this.setFloatable(false); addSeparator(); add(button_connect); button_connect.setToolTipText("Connect"); button_connect.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { // device_Initial(); } }); add(button_disconnect); button_disconnect.setToolTipText("Disconnect"); button_disconnect.setEnabled(false); button_disconnect.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { // device_close(); } }); }
/** Initializes the graphical components */ public void init() { username = getParameter("username"); if (username == null) { username = JOptionPane.showInputDialog( this, "Please enter a username", "Login", JOptionPane.QUESTION_MESSAGE); } try { PORT = Integer.valueOf(getParameter("port")).intValue(); } catch (NumberFormatException e) { PORT = 42412; } URL url = getDocumentBase(); site = url.getHost(); locationURL = "http://" + site + ":" + url.getPort() + "/" + url.getPath(); setSize(615, 362); c = getContentPane(); c.setBackground(new Color(224, 224, 224)); if (site == null || locationURL == null) { c.add(new JLabel("ERROR: did not recieve needed data from page")); } myAction = new MyAction(); myKeyListener = new MyKeyListener(); myMouseListener = new MyMouseListener(); myHyperlinkListener = new MyHyperlinkListener(); c.setLayout(null); cboChannels = new JComboBox(); cboChannels.setBounds(5, 5, 150, 24); butChannel = new JButton("Join"); butChannel.setToolTipText("Join channel"); butChannel.addActionListener(myAction); butChannel.setBounds(160, 5, 60, 24); butCreate = new JButton("Create"); butCreate.setToolTipText("Create new channel"); butCreate.addActionListener(myAction); butCreate.setBounds(230, 5, 100, 24); butCreate.setEnabled(false); butInvite = new JButton("Invite"); butInvite.setToolTipText("Invite Friend"); butInvite.addActionListener(myAction); butInvite.setBounds(340, 5, 80, 24); mainChat = new ChatPane(this); textScroller = new JScrollPane( mainChat, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); textScroller.setBounds(5, 34, 500, 270); userList = new JList(); userList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); userList.setCellRenderer(new MyCellRenderer()); userList.setBackground(new Color(249, 249, 250)); JScrollPane userScroller = new JScrollPane(userList); userScroller.setBounds(510, 34, 100, 297); messageText = new JTextField(); messageText.setBounds(5, 309, 500, 22); messageText.setColumns(10); messageText.setBackground(new Color(249, 249, 250)); JMenuItem item; popup = new JPopupMenu("test"); popup.add("whisper").addActionListener(myAction); popup.add("private message").addActionListener(myAction); popup.add("ignore").addActionListener(myAction); popup.add("clear ignore list").addActionListener(myAction); conNo = new ImageIcon(getURL("images/connect_no.gif")); conYes = new ImageIcon(getURL("images/connect_established.gif")); secNo = new ImageIcon(getURL("images/decrypted.gif")); secYes = new ImageIcon(getURL("images/encrypted.gif")); conIcon = new JLabel(conNo); conIcon.setBorder(new EtchedBorder()); secIcon = new JLabel(secNo); secIcon.setBorder(new EtchedBorder()); conIcon.setBounds(563, 334, 22, 22); secIcon.setBounds(588, 334, 22, 22); bottomText = new JLabel( "<html><body><font color=#445577><b>" + "LlamaChat " + VERSION + "</b></font> © " + "<a href=\"" + linkURL + "\">Joseph Monti</a> 2002-2003" + "</body></html>"); bottomText.setBounds(5, 336, 500, 20); c.add(cboChannels); c.add(butChannel); c.add(butCreate); c.add(butInvite); c.add(textScroller); c.add(userScroller); c.add(messageText); c.add(conIcon); c.add(secIcon); c.add(bottomText); userList.addMouseListener(myMouseListener); messageText.addKeyListener(myKeyListener); bottomText.addMouseListener(myMouseListener); users = new ArrayList(); ignores = new ArrayList(5); afks = new ArrayList(5); admins = new ArrayList(5); history = new CommandHistory(10); admin = false; channels = new Hashtable(); privates = new PrivateMsg(this); showUserStatus = false; myColors[0] = new Color(200, 0, 0); myColors[1] = new Color(0, 150, 0); myColors[2] = new Color(0, 0, 200); rect = new Rectangle(0, 0, 1, 1); String opening = "<font color=#333333>" + "==================================<br>" + "Welcome to LlamaChat " + VERSION + "<br>" + "If you need assistance, type \\help<br>" + "Enjoy your stay!<br>" + "Maestria Aplicada en Redes<br>" + "==================================<br></font>"; HTMLDocument doc = (HTMLDocument) mainChat.getDocument(); HTMLEditorKit kit = (HTMLEditorKit) mainChat.getEditorKit(); try { kit.insertHTML(doc, doc.getLength(), opening, 0, 0, HTML.Tag.FONT); } catch (Throwable t) { t.printStackTrace(System.out); } // validate the name if (!username.matches("[\\w_-]+?")) { error( "username contains invalid characters, changing to " + "'invalid' for now. " + "Type \\rename to chose a new name"); username = "******"; } if (username.length() > 10) { username = username.substring(0, 10); error("username too long, changed to " + username); } connect(); }
/** * Sets up the airplane seating GUI. Adds in all the buttons, keeping a space for the aisle. * * @precondition the button is still clickable */ public void run() { Airplane.aLock.lock(); JFrame manualreservation = new JFrame(); manualreservation.setTitle("Airplane Reservation System"); manualreservation.setPreferredSize(new Dimension(500, 500)); JPanel panel = new JPanel(new GridLayout(50, 5)); JPanel container = new JPanel(); for (int rows = 0; rows < 50; rows++) { for (int columns = 0; columns < 5; columns++) { if (columns == 2) { JButton empty = new JButton(""); empty.setEnabled(false); panel.add(empty); } else { JButton button = new JButton(); if (columns > 2) { button.setText((rows) + "," + (columns - 1)); Airplane.buttons.add(button); } else { button.setText((rows) + "," + (columns)); Airplane.buttons.add(button); } /** * Attached an Action Listener to every button. Sets the clicked button to un-clickable * and updates the button ArrayList and seating array. */ button.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent seatselected) { JButton buttonclicked = (JButton) seatselected.getSource(); String[] temp = buttonclicked.getText().split(","); int[] location = new int[temp.length]; for (int i = 0; i < temp.length; i++) { location[i] = Integer.parseInt(temp[i]); } int loc = location[0] * 4 + location[1]; airplane.setSeat(location[0], location[1], 3); buttonclicked.setText("3"); buttonclicked.setEnabled(false); Airplane.buttons.add(buttonclicked); Airplane.buttons.get(loc).setEnabled(false); Airplane.buttons.get(loc).setText("3"); } }); panel.add(button); } } } container.add(panel); JScrollPane jsp = new JScrollPane(container); manualreservation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); manualreservation.add(jsp); manualreservation.pack(); manualreservation.setVisible(true); Airplane.aLock.unlock(); }