예제 #1
0
  private void Ok(int index, String pass) {

    try {
      ActionsHistory ptr = opf.getList().ConfirmPass(index, pass);
      if (ptr != null) {
        opf.setPass(passTextField.getText());
        cpf.dispose();
        opf.dispose();
        final SimpleFrame frame = new SimpleFrame(ptr, opf.getProjectName(), opf.getLogin());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
      } else {
        JOptionPane.showMessageDialog(cpf, "Password do not match");
      }
    } catch (HeadlessException e) {
      JOptionPane.showMessageDialog(
          cpf,
          "Code that is dependent on a keyboard, display, or mouse \n is called in an environment that does not support \n a keyboard, display, or mouse");
      return;
    } catch (RemoteException e) {
      JOptionPane.showMessageDialog(buttonOk, "Disconect from server");
      this.dispose();
      opf.dispose();
      LoginFrame log = new LoginFrame();
      log.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      log.setVisible(true);
    }
  }
예제 #2
0
 // 当鼠标单击事件发生时
 public void actionPerformed(ActionEvent evt) {
   try {
     // 初始化聊天通信类
     comUtil = new ComUtil(chatFrame);
     final String loginMsg =
         YeekuProtocol.PRESENCE
             + userField.getText()
             + YeekuProtocol.SPLITTER
             + iconList.getSelectedObjects()[0]
             + YeekuProtocol.PRESENCE;
     comUtil.broadCast(loginMsg);
     // 启动定时器每20秒广播一次在线信息
     javax.swing.Timer timer =
         new javax.swing.Timer(1000 * 10, event -> comUtil.broadCast(loginMsg));
     timer.start();
     loginFrame.setVisible(false);
     chatFrame.setVisible(true);
   } catch (Exception ex) {
     loginFrame.setTipMsg("确认30001端口空闲,且网络正常!");
   }
 }
예제 #3
0
 public UserVo getCurrentUser() {
   return loginFrame.getUserVo();
 }
예제 #4
0
 public int getCurrentUserId() {
   return loginFrame.getUserId();
 }
예제 #5
0
  @Override
  protected Object doInBackground() throws Exception {
    loginFrame.getProgressBar().setVisible(true);
    loginFrame.getProgressBar().setString("Connecting to www.minecraft.net...");
    try {
      values = Utils.doLogin(user, pass, loginFrame.getProgressBar());
      Launcher.getGameUpdater().setMinecraftUser(values[2].trim());
      Launcher.getGameUpdater().setMinecraftSession(values[3].trim());
      Launcher.getGameUpdater().setDownloadTicket(values[1].trim());
      Launcher.getGameUpdater().setMinecraftPass(pass);

      loginFrame.onRawEvent(Event.SUCESSFUL_LOGIN);
      return true;
    } catch (BadLoginException e) {
      loginFrame.onRawEvent(Event.BAD_LOGIN);
    } catch (MinecraftUserNotPremiumException e) {
      loginFrame.onRawEvent(Event.USER_NOT_PREMIUM);
      loginFrame.getProgressBar().setVisible(false);
    } catch (MCNetworkException e) {
      UserPasswordInformation info = null;

      for (String username : loginFrame.usernames.keySet()) {
        if (username.equalsIgnoreCase(user)) {
          info = loginFrame.usernames.get(username);
          break;
        }
      }

      boolean authFailed = (info == null);

      if (!authFailed) {
        if (info.isHash) {
          try {
            MessageDigest digest = MessageDigest.getInstance("SHA-256");
            byte[] hash = digest.digest(pass.getBytes());
            for (int i = 0; i < hash.length; i++) {
              if (hash[i] != info.passwordHash[i]) {
                authFailed = true;
                break;
              }
            }
          } catch (NoSuchAlgorithmException ex) {
            authFailed = true;
          }
        } else {
          authFailed = !(pass.equals(info.password));
        }
      }

      if (authFailed) {
        loginFrame.offline = false;
        loginFrame.onRawEvent(Event.MINECRAFT_NETWORK_DOWN);
      } else {
        loginFrame.offline = true;
        loginFrame.onRawEvent(Event.MINECRAFT_NETWORK_DOWN);
      }
      this.cancel(true);
      loginFrame.getProgressBar().setVisible(false);
    } catch (OutdatedMCLauncherException e) {
      JOptionPane.showMessageDialog(
          loginFrame.getParent(),
          "Incompatible Login Version. Contact Spout about updating the Launcher!");
      loginFrame.getProgressBar().setVisible(false);
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
      this.cancel(true);
      loginFrame.getProgressBar().setVisible(false);
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }
예제 #6
0
 public void run() {
   try {
     MSG msg = null;
     while (runFlag && (msg = (MSG) Reader.readObject()) != null) {
       String command = msg.getCommand();
       System.out.println("[" + owner + "]:" + command);
       if (command.equals("MSG")) {
         String[] str = msg.getContent().split(" ");
         if (str.length == 2)
           textArea.setText(textArea.getText() + "[" + str[0] + "]:" + str[1] + "\n");
       } else if (command.equals("USERS")) {
         if (userList.getItemCount() > 0) userList.removeAll();
         String[] users = msg.getContent().split(" ");
         for (String str : users) {
           userList.add(str);
         }
       } else if (command.equals("LOGINOUT")) {
         openDialog("Logout", owner + " login in other places");
         LoginFrame loginFrame = new LoginFrame();
         loginFrame.setVisible(true);
         dispose();
       }
       if (!isGame) continue;
       if (command.equals("ROOMLIST")) {
         controlPanel.gameList.removeAll();
         String[] str = msg.getContent().split(" ");
         for (int i = 0; i < str.length; i++) {
           controlPanel.gameList.add(str[i]);
         }
       } else if (command.equals("HOSTTRUE")) {
         controlPanel.isHost = true;
         controlPanel.boardSize = controlPanel.hostSize;
         controlPanel.remove(controlPanel.panelStart);
         controlPanel.ready.setEnabled(false);
         controlPanel.start.setEnabled(false);
         controlPanel.roomNumber = Integer.parseInt(msg.getContent(), 10);
         controlPanel.initPanelHost();
         controlPanel.panelHost.setSize(135, 420);
         controlPanel.panelHost.setLocation(0, 0);
         controlPanel.add(controlPanel.panelHost);
       } else if (command.equals("HOSTFALSE")) {
       } else if (command.equals("JOINTRUE")) {
         String str[] = msg.getContent().split(" "); // get player name
         System.out.println(str[1]);
         controlPanel.competitor = str[0];
         controlPanel.boardSize = Integer.parseInt(str[1], 10);
         controlPanel.remove(controlPanel.panelStart);
         controlPanel.initPanelClient();
         controlPanel.panelClient.setSize(135, 420);
         controlPanel.panelClient.setLocation(0, 0);
         controlPanel.add(controlPanel.panelClient);
         controlPanel.ready.setEnabled(true);
         controlPanel.start.setEnabled(false);
       } else if (command.equals("JOIN")) {
         String str[] = msg.getContent().split(" "); // get player name
         controlPanel.competitor = str[0];
         controlPanel.competitorInf.setText("Player:" + controlPanel.competitor);
         Writer.writeObject(new MSG("JOINSYN", ""));
         controlPanel.ready.setEnabled(false);
         controlPanel.start.setEnabled(false);
       } else if (command.equals("READY")) {
         Writer.writeObject(new MSG("READYSYN", ""));
         controlPanel.ready.setEnabled(false);
         controlPanel.start.setEnabled(true);
       } else if (command.equals("READYFALSE")) {
         controlPanel.competitor = null;
         controlPanel.competitorInf.setText("Player:" + controlPanel.competitor);
         controlPanel.start.setEnabled(false);
         controlPanel.ready.setEnabled(false);
       } else if (command.equals("QUITROOM")) {
         controlPanel.competitor = null;
         controlPanel.isHost = false;
         controlPanel.start.setEnabled(false);
         controlPanel.ready.setEnabled(false);
         controlPanel.remove(controlPanel.panelClient);
         controlPanel.initPanelStart();
         controlPanel.panelStart.setSize(135, 420);
         controlPanel.panelStart.setLocation(0, 0);
         controlPanel.add(controlPanel.panelStart);
       } else if (command.equals("ROLLTRUE")) {
         controlPanel.canQuit = false;
         controlPanel.text.setText("You go first");
         controlPanel.upperHand = true;
         controlPanel.turn = true;
         controlPanel.startGame();
       } else if (command.equals("ROLLFALSE")) {
         controlPanel.canQuit = false;
         controlPanel.upperHand = false;
         controlPanel.turn = false;
         controlPanel.text.setText("You go second");
         controlPanel.startGame();
       } else if (command.equals("GO")) {
         String[] str = msg.getContent().split(" ");
         controlPanel.gamePanel.computerGo(
             Integer.parseInt(str[0], 10), Integer.parseInt(str[1], 10));
         controlPanel.turn = true;
       } else if (command.equals("LOSE")) {
         controlPanel.gameOver(2);
       } else if (command.equals("DRAW")) {
         controlPanel.gameOver(3);
       }
     }
   } catch (IOException e) {
     // TODO Auto-generated catch block
     //	e.printStackTrace();
   } catch (ClassNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
   }
 }
예제 #7
0
 private void signOutActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_signOutActionPerformed
   dispose();
   LoginFrame lf = new LoginFrame();
   lf.setVisible(true);
 } // GEN-LAST:event_signOutActionPerformed
예제 #8
0
 public static void main(String[] args) {
   LoginFrame Cerceve = new LoginFrame();
   Cerceve.setSize(500, 100);
   Cerceve.setVisible(true);
   Cerceve.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }