3 import java.awt.event.*;
6 public class mainPanel extends JPanel {
8 DefaultListModel newLM, seenLM;
11 boolean jcb_update = false;
14 setLayout( new BorderLayout() );
16 JPanel p = new JPanel();
17 p.setLayout( new BorderLayout() );
18 /* p.setBorder( BorderFactory.createTitledBorder(
19 BorderFactory.createEtchedBorder(), "Cmds" ) ); */
21 VertPanel vp = new VertPanel();
22 p.add( "Center", vp );
25 vp.add( b = new JButton( "Next Room" ) );
26 b.addActionListener( new ActionListener() {
27 public void actionPerformed( ActionEvent e ) {
28 citadel.me.enterRoom( rooms.nextNewRoom() );
31 vp.add( b = new JButton( "Goto Room" ) );
32 b.addActionListener( new ActionListener() {
33 public void actionPerformed( ActionEvent e ) {
34 citadel.me.enterRoom();
37 vp.add( b = new JButton( "Page User" ) );
38 b.addActionListener( new ActionListener() {
39 public void actionPerformed( ActionEvent e ) {
43 vp.add( b = new JButton( "Who Online" ) );
44 b.addActionListener( new ActionListener() {
45 public void actionPerformed( ActionEvent e ) {
46 new whoOnlineWindow();
49 vp.add( b = new JButton( "Options" ) );
50 b.addActionListener( new ActionListener() {
51 public void actionPerformed( ActionEvent e ) {
54 b.setEnabled( false );
56 vp.add( b = new JButton( "Server Info" ) );
57 b.addActionListener( new ActionListener() {
58 public void actionPerformed( ActionEvent e ) {
61 b.setEnabled( false );
63 vp.add( b = new JButton( "Logoff" ) );
64 b.addActionListener( new ActionListener() {
65 public void actionPerformed( ActionEvent e ) {
72 p.setLayout( new BorderLayout() );
74 PairPanel pp = new PairPanel();
75 jcb = new JComboBox();
76 jcb.addActionListener( new ActionListener() {
77 public void actionPerformed( ActionEvent e ) {
79 updateLists( (String)jcb.getSelectedItem() );
82 pp.addLeft( new JLabel( "Floor: " ) );
87 JPanel ppp = new JPanel();
88 ppp.setLayout( new GridLayout( 1, 0 ) );
89 newLM = makeList( "New Rooms", ppp );
90 seenLM = makeList( "Old Rooms", ppp );
92 p.add( "Center", ppp );
97 public DefaultListModel makeList( String name, JPanel pp ) {
101 JPanel p = new JPanel();
102 p.setLayout( new BorderLayout() );
103 p.setBorder( BorderFactory.createTitledBorder(
104 BorderFactory.createEtchedBorder(), name ) );
106 lm = new DefaultListModel();
108 p.add( "Center", new JScrollPane( jl = new JList(lm) ) );
112 jl.addMouseListener( new MouseAdapter() {
113 public void mouseClicked( MouseEvent e ) {
114 String what = (String)jl.getSelectedValue();
115 if( what == null ) return;
117 if( e.getClickCount() == 2 )
118 citadel.me.enterRoom( what );
125 public void refresh() {
126 rooms = new roomMap( this );
127 citadel.me.rooms = rooms;
128 citadel.me.networkEvent( "LFLR", new CallBack() {
129 public void run( citReply r ) {
132 if( jcb.getModel().getSize() > 0 )
133 jcb.removeAllItems();
134 for( Enumeration e = rooms.f_list.elements(); e.hasMoreElements(); ) {
135 floor f = (floor)e.nextElement();
136 jcb.addItem( f.name() );
139 setFloor( rooms.getFloor() );
142 citadel.me.networkEvent( "LKRN", new CallBack() {
143 public void run( citReply r ) {
144 rooms.new_rooms( r );
147 citadel.me.networkEvent( "LKRO", new CallBack() {
148 public void run( citReply r ) {
149 rooms.old_rooms( r );
151 setFloor( rooms.getFloor() );
152 updateLists( rooms.getFloor().name );
156 public void setFloor( String flr ) {
157 if( flr == null ) return;
158 setFloor( rooms.getFloor( flr ) );
161 public void setFloor( floor f ) {
162 if( f == null ) return;
163 jcb.setSelectedItem( f.name() );
166 public void updateLists( String name ) {
167 floor f = rooms.getFloor( name );
168 if( f == null ) return;
171 newLM.removeAllElements();
172 seenLM.removeAllElements();
173 for( Enumeration e = f.rooms.elements(); e.hasMoreElements(); ) {
174 room rm = (room)e.nextElement();
176 newLM.addElement( rm.name () );
178 seenLM.addElement( rm.name() );