📄 mainserverframe.java
字号:
/*
* MainServerFrame.java
*
* Created on 9 pa焏ziernik 2005, 09:44
*/
package net.sf.jawp.game.server.gui;
import javax.swing.JDesktopPane;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import net.sf.jawp.api.service.JAWPGameService;
import net.sf.jawp.gui.client.ClientTestFrame;
import net.sf.jawp.gui.client.JoinGameDialog;
import net.sf.jawp.util.BuildHelper;
/**
*
* @author jarek
*/
public class MainServerFrame extends javax.swing.JFrame
{
static
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
System.out.println("installed:"
+ UIManager.getLookAndFeel().getName());
}
catch (final Exception e)
{
e.printStackTrace();
}
}
private static final long serialVersionUID = 1L;
//private final static Log LOG = Log.getLog(MainServerFrame.class );
private ServerDataManager dataManger;
private final FramesManager manager;
/** Creates new form MainServerFrame */
public MainServerFrame()
{
initComponents();
this.setTitle("JAWP Game Server - " + BuildHelper.getBuildDesc());
this.manager = FramesManager.create(this);
updateState();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents()
{
javax.swing.JMenu exiMenu;
serverDesktopPane = new javax.swing.JDesktopPane();
jMenuBar1 = new javax.swing.JMenuBar();
fileMenu = new javax.swing.JMenu();
newGameMenuItem = new javax.swing.JMenuItem();
loadMenuItem = new javax.swing.JMenuItem();
saveMenuItem = new javax.swing.JMenuItem();
exitMenuItem = new javax.swing.JMenuItem();
jMenu5 = new javax.swing.JMenu();
jMenu2 = new javax.swing.JMenu();
windowMenu = new javax.swing.JMenu();
joinGameMenuItem = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
exiMenu = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
serverDesktopPane.setDragMode(javax.swing.JDesktopPane.OUTLINE_DRAG_MODE);
serverDesktopPane.setPreferredSize(new java.awt.Dimension(640, 480));
getContentPane().add(serverDesktopPane, java.awt.BorderLayout.CENTER);
fileMenu.setText("File");
newGameMenuItem.setText("New");
newGameMenuItem.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
newGameMenuItemActionPerformed(evt);
}
});
fileMenu.add(newGameMenuItem);
loadMenuItem.setText("Load");
loadMenuItem.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
loadMenuItemActionPerformed(evt);
}
});
fileMenu.add(loadMenuItem);
saveMenuItem.setText("Save");
fileMenu.add(saveMenuItem);
exitMenuItem.setText("Exit");
exitMenuItem.setName("Exit");
exitMenuItem.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
exitMenuItemActionPerformed(evt);
}
});
fileMenu.add(exitMenuItem);
jMenuBar1.add(fileMenu);
jMenu5.setText("Run");
jMenuBar1.add(jMenu5);
jMenu2.setText("Options");
jMenuBar1.add(jMenu2);
windowMenu.setText("Window");
joinGameMenuItem.setText("Local client");
joinGameMenuItem.setToolTipText("Starts local client session");
joinGameMenuItem.setEnabled(false);
joinGameMenuItem.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
joinGameMenuItemActionPerformed(evt);
}
});
windowMenu.add(joinGameMenuItem);
windowMenu.add(jSeparator1);
jMenuBar1.add(windowMenu);
exiMenu.setText("Help");
jMenuBar1.add(exiMenu);
setJMenuBar(jMenuBar1);
pack();
}
// </editor-fold>//GEN-END:initComponents
private void joinGameMenuItemActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_joinGameMenuItemActionPerformed
{//GEN-HEADEREND:event_joinGameMenuItemActionPerformed
/*final JoinClientFrame joinFrame = new JoinClientFrame(getDataManger().getUserService());
joinFrame.setLocation(50, 50);
joinFrame.setVisible(true);
this.serverDesktopPane.add(joinFrame);*/
final JoinGameDialog jgd = new JoinGameDialog( this, true, getDataManger().getUserService());
jgd.setVisible( true );
final JAWPGameService gs = jgd.getGameService();
jgd.dispose();
//assert LOG.debug(jgd.getGameService());
if ( gs != null )
{
final ClientTestFrame cform = new ClientTestFrame(gs);
cform.setLocation(100, 100);
cform.setVisible(true);
this.serverDesktopPane.add(cform);
}
}//GEN-LAST:event_joinGameMenuItemActionPerformed
private void newGameMenuItemActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_newGameMenuItemActionPerformed
{//GEN-HEADEREND:event_newGameMenuItemActionPerformed
if (getDataManger().isGame() )
{
// @todo: ask before destroying
if ( JOptionPane.showConfirmDialog( this, "This will delete working games. Continue ?",
"Delete", JOptionPane.YES_NO_OPTION) == JOptionPane.OK_OPTION)
{
getDataManger().destroyGame();
}
else
{
return;
}
}
else if ( getDataManger().isStoredSystemAvailable() )
{
// @todo: ask before destroying
if ( JOptionPane.showConfirmDialog( this, "This will delete stored games. Continue ?",
"Delete", JOptionPane.YES_NO_OPTION) != JOptionPane.OK_OPTION)
{
return;
}
}
getDataManger().newGame();
openServerWindow();
updateState();
}//GEN-LAST:event_newGameMenuItemActionPerformed
private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_exitMenuItemActionPerformed
{//GEN-HEADEREND:event_exitMenuItemActionPerformed
getDataManger().dispose();
dispose();
System.exit(0);
}//GEN-LAST:event_exitMenuItemActionPerformed
private void loadMenuItemActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_loadMenuItemActionPerformed
{//GEN-HEADEREND:event_loadMenuItemActionPerformed
assert !getDataManger().isGame();
getDataManger().loadGame();
openServerWindow();
updateState();
}//GEN-LAST:event_loadMenuItemActionPerformed
private void openServerWindow()
{
/*
* final ServerInternalFrame serverFrame = new ServerInternalFrame(
* getDataManger());
*
* serverDesktopPane.add( serverFrame); serverFrame.setVisible( true);
* pack();
*/
this.manager.openServerStatusFrame(getDataManger());
}
/**
* @param args
* the command line arguments
*/
public static void main(final String[] args)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new MainServerFrame().setVisible(true);
}
});
}
public ServerDataManager getDataManger()
{
if (this.dataManger == null)
{
this.dataManger = ServerDataManager.create();
}
return this.dataManger;
}
public void setDataManger(final ServerDataManager dataManger)
{
this.dataManger = dataManger;
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JMenuItem exitMenuItem;
private javax.swing.JMenu fileMenu;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu5;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JMenuItem joinGameMenuItem;
private javax.swing.JMenuItem loadMenuItem;
private javax.swing.JMenuItem newGameMenuItem;
private javax.swing.JMenuItem saveMenuItem;
private javax.swing.JDesktopPane serverDesktopPane;
private javax.swing.JMenu windowMenu;
// End of variables declaration//GEN-END:variables
/**
* updates buttons menus etc.
*/
private void updateState()
{
updateFileMenu();
}
private void updateFileMenu()
{
this.newGameMenuItem.setEnabled(!getDataManger().isGame());
this.loadMenuItem.setEnabled(!getDataManger().isGame() && getDataManger().isStoredSystemAvailable());
this.saveMenuItem.setEnabled(getDataManger().isGame());
this.exitMenuItem.setEnabled(true);
}
final JDesktopPane getDesktop()
{
return this.serverDesktopPane;
}
final void enableJoinGame()
{
this.joinGameMenuItem.setEnabled( true );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -