com.valhalla.jbother
Class TabFrame

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bycom.valhalla.jbother.TabFrame
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class TabFrame
extends javax.swing.JFrame

Contains all of the groupchat windows in tabs

Version:
1.0
Author:
Adam Olsen
See Also:
Serialized Form

Nested Class Summary
(package private)  class TabFrame.GCTabHandler
          Switches the tab based on CTRL+n keys
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TabFrame()
          Constructor sets the frame up and adds a listener to the JTabPane so that if a tab is changed the title of this frame reflects the topic and the name of the room in the tab
 
Method Summary
 void addPanel(TabFramePanel panel)
          Adds a chat room to the frame
 void closeHandler()
          This not only closes the window, but it leaves all the rooms like it should
 boolean contains(TabFramePanel panel)
           
 ChatRoomPanel getChatPanel(java.lang.String server)
          If there is a chatroom open in this frame with a server name, this returns the ChatRoomPanel that contains it
 javax.swing.JTabbedPane getTabPane()
           
 boolean isRoomOpen(java.lang.String server)
          Since there is no way to check to see if a message is from someone in a chat room, we check to see if the message is coming from the same server as a chatroom we are in.
 void leaveAll()
          Leaves all chatrooms (for if they close the window)
 void markTab(TabFramePanel panel)
          Marks a tab for a TabFramePanel if it's not already selected
 void removePanel(TabFramePanel panel)
          This leaves a chatroom and removes the associated ChatRoomPanel from the TabPane
 void saveStates()
          Saves the size of the chat frame
 void setStatus(org.jivesoftware.smack.packet.Presence.Mode mode, java.lang.String status)
          Set the status in all the rooms
 void setSubject(ChatRoomPanel window)
          Sets the subject of a ChatRoomPanel based on a message that was recieved from the GroupChat server with <subject> in it
 void switchTab()
          Switches the current tab in the tab frame
 int tabsLeft()
          Returns the number of rooms currently open in the frame
 void updateStyles(java.awt.Font font)
          Updates the font in all the chat conversationareas
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

TabFrame

public TabFrame()
Constructor sets the frame up and adds a listener to the JTabPane so that if a tab is changed the title of this frame reflects the topic and the name of the room in the tab

Method Detail

markTab

public void markTab(TabFramePanel panel)
Marks a tab for a TabFramePanel if it's not already selected

Parameters:
panel - the panel to mark

saveStates

public void saveStates()
Saves the size of the chat frame


updateStyles

public void updateStyles(java.awt.Font font)
Updates the font in all the chat conversationareas

Parameters:
font - the font to update to

setStatus

public void setStatus(org.jivesoftware.smack.packet.Presence.Mode mode,
                      java.lang.String status)
Set the status in all the rooms

Parameters:
mode - the presence mode
status - the status string

closeHandler

public void closeHandler()
This not only closes the window, but it leaves all the rooms like it should


isRoomOpen

public boolean isRoomOpen(java.lang.String server)
Since there is no way to check to see if a message is from someone in a chat room, we check to see if the message is coming from the same server as a chatroom we are in.

Parameters:
server - the server to check

getChatPanel

public ChatRoomPanel getChatPanel(java.lang.String server)
If there is a chatroom open in this frame with a server name, this returns the ChatRoomPanel that contains it

Parameters:
server - the name of the room to get the ChatRoomPanel for
Returns:
the ChatRoomPanel requested, or null if it could not be found

removePanel

public void removePanel(TabFramePanel panel)
This leaves a chatroom and removes the associated ChatRoomPanel from the TabPane


setSubject

public void setSubject(ChatRoomPanel window)
Sets the subject of a ChatRoomPanel based on a message that was recieved from the GroupChat server with <subject> in it

Parameters:
window - the window to set the subject for

contains

public boolean contains(TabFramePanel panel)
Parameters:
panel - the panel to check
Returns:
true if the tab panel is currently displayed in the tab frame

tabsLeft

public int tabsLeft()
Returns the number of rooms currently open in the frame

Returns:
the number of rooms still open

addPanel

public void addPanel(TabFramePanel panel)
Adds a chat room to the frame


switchTab

public void switchTab()
Switches the current tab in the tab frame


leaveAll

public void leaveAll()
Leaves all chatrooms (for if they close the window)


getTabPane

public javax.swing.JTabbedPane getTabPane()
Returns:
Returns the tabPane.