⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gameserversocketset.java

📁 这是一款使用java编写的俄罗斯方块游戏
💻 JAVA
字号:
/*
 * Created on 2006-4-25
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package game.gameset;

import game.GameMenu;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

/**
 * @author Administrator
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class GameServerSocketSet extends JDialog implements ActionListener {
    private JLabel port = new JLabel ("             端口号:");

    private JTextField text = new JTextField ("01234");

    private JButton ok = new JButton ("完成");

    private JTextArea tf = new JTextArea ("请输入端口号(注意:端口号请选择大于1024的数字)");

    private JPanel panel = new JPanel ();

    private int portNum = 8081;//存储端口号

    private ServerSocket server = null;
    
    private Socket socket = null;
    private   GameMenu menu;

    public GameServerSocketSet (final GameMenu menu) {
        super (menu, "set the PORT-NUM of socket", true);
         this.menu = menu;
        getContentPane ().setLayout (new BorderLayout ());
        setSize (350, 90);
        setResizable (false);
        Dimension scrSize = Toolkit.getDefaultToolkit ().getScreenSize ();

        setLocation ( (scrSize.width - getSize ().width) / 2, (scrSize.height - getSize ().height) / 2);
        getContentPane ().add ("North", tf);
        getContentPane ().add ("South", panel);
        tf.setEditable (false);
        panel.setLayout (new GridLayout (1,3,10,10));
        panel.add (port);
        panel.add (text);
        text.setText(new Integer(menu.getPortNum()).toString());
        portNum = menu.getPortNum();
        ok.requestFocus ();
        panel.add (ok);
        ok.addActionListener (this);

        ok.addKeyListener (new KeyAdapter () {
            public void keyReleased (KeyEvent e) {
                if (e.getKeyCode () == KeyEvent.VK_ENTER) {
                    portNum = Integer.parseInt (text.getText ());
                    show (false);
                    System.out.println ("asdaksdjadlkjaskdja");
                }
            }
        });
        addWindowListener (new WindowAdapter () {
            public void windowClosing (WindowEvent e) {
                show (false);
            }
        });
        show (true);
    }

    public void actionPerformed (ActionEvent e) {

        portNum = Integer.parseInt (text.getText ());
        setVisible (false);
        menu.getMiConnectGame().setEnabled(false);
        try {
           server = new ServerSocket (portNum);
            System.out.println ("建立端口成功!端口号是:");
            System.out.println (portNum);
            setVisible (false);
        }
        catch (IOException ex) {

            JOptionPane gameexit = new JOptionPane (ex.toString () + "\nYou need to  reset port_num.",
                    JOptionPane.WARNING_MESSAGE);
            JDialog dialog = gameexit.createDialog (this, "");
            dialog.setVisible (true);
        }
    }

    public int getportNum () {
        return portNum;
    }
    /**
     * @return Returns the socket.
     */
    public Socket getSocket () {
        return socket;
    }
    public ServerSocket getServerSocket(){
    	return  server;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -