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

📄 clientpanel.java

📁 Java mulitplayer strategy game. Adaptation of KDE Galaxy Conquest. (rules are changed - but still th
💻 JAVA
📖 第 1 页 / 共 3 页
字号:

        jPanel2.add(jTabbedPane1, "Planets");

        jSplitPane2.setTopComponent(jPanel2);

        jPanel5.setLayout(new java.awt.BorderLayout());

        jPanel5.setPreferredSize(new java.awt.Dimension(10, 90));
        jPanel5.setRequestFocusEnabled(false);
        jScrollPane2.setMaximumSize(new java.awt.Dimension(32767, 100));
        jScrollPane2.setPreferredSize(new java.awt.Dimension(2, 50));
        logsTextArea.setEditable(false);
        logsTextArea.setLineWrap(true);
        logsTextArea.setTabSize(3);
        logsTextArea.setText("welcome to JAWP 1.0");
        jScrollPane2.setViewportView(logsTextArea);

        jPanel5.add(jScrollPane2, java.awt.BorderLayout.CENTER);

        jSplitPane2.setBottomComponent(jPanel5);

        jPanel4.add(jSplitPane2, java.awt.BorderLayout.CENTER);

        jSplitPane1.setLeftComponent(jPanel4);

        jPanel1.setLayout(new java.awt.GridBagLayout());

        jPanel1.setMinimumSize(new java.awt.Dimension(100, 100));
        selectedPlanetPanel.setPreferredSize(new java.awt.Dimension(200, 200));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 0.3;
        jPanel1.add(selectedPlanetPanel, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weighty = 0.3;
        jPanel1.add(toPlanetPanelView, gridBagConstraints);

        movePanel.setLayout(new java.awt.GridBagLayout());

        movePanel.setBorder(new javax.swing.border.TitledBorder("Move fleet"));
        fleetSlider.setMajorTickSpacing(4);
        fleetSlider.setMaximum(30);
        fleetSlider.setMinorTickSpacing(2);
        fleetSlider.setPaintTicks(true);
        fleetSlider.setEnabled(false);
        fleetSlider.addChangeListener(new javax.swing.event.ChangeListener()
        {
            public void stateChanged(javax.swing.event.ChangeEvent evt)
            {
                fleetSliderStateChanged(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.weighty = 0.3;
        gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 9);
        movePanel.add(fleetSlider, gridBagConstraints);

        moveButton.setText("move");
        moveButton.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
        moveButton.setEnabled(false);
        moveButton.setPreferredSize(new java.awt.Dimension(100, 30));
        moveButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                moveButtonActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.weighty = 0.3;
        gridBagConstraints.insets = new java.awt.Insets(0, 15, 10, 15);
        movePanel.add(moveButton, gridBagConstraints);

        fleetSizeTextField.setFont(new java.awt.Font("Tahoma", 1, 11));
        fleetSizeTextField.setEnabled(false);
        fleetSizeTextField.setMinimumSize(new java.awt.Dimension(30, 19));
        fleetSizeTextField.setPreferredSize(new java.awt.Dimension(30, 19));
        fleetSizeTextField.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                fleetSizeTextFieldActionPerformed(evt);
            }
        });
        fleetSizeTextField.addFocusListener(new java.awt.event.FocusAdapter()
        {
            public void focusLost(java.awt.event.FocusEvent evt)
            {
                fleetSizeTextFieldFocusLost(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.weightx = 0.5;
        movePanel.add(fleetSizeTextField, gridBagConstraints);

        jLabel1.setText("Fleet size");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.weightx = 0.5;
        gridBagConstraints.weighty = 0.3;
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 6);
        movePanel.add(jLabel1, gridBagConstraints);

        distanceLabel.setMinimumSize(new java.awt.Dimension(80, 10));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 0;
        movePanel.add(distanceLabel, gridBagConstraints);

        jLabel6.setText("Distance");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 6);
        movePanel.add(jLabel6, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weighty = 0.3;
        jPanel1.add(movePanel, gridBagConstraints);

        jSplitPane1.setRightComponent(jPanel1);

        add(jSplitPane1, java.awt.BorderLayout.CENTER);

    }
    // </editor-fold>//GEN-END:initComponents

	private void fleetSliderStateChanged(javax.swing.event.ChangeEvent evt)//GEN-FIRST:event_fleetSliderStateChanged
	{//GEN-HEADEREND:event_fleetSliderStateChanged
		fleetSizeTextField.setText(String.valueOf(this.fleetSlider.getValue()));
		fleetSlider.setForeground(Color.BLACK);
	}//GEN-LAST:event_fleetSliderStateChanged

	private void moveButtonActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_moveButtonActionPerformed
	{//GEN-HEADEREND:event_moveButtonActionPerformed
		final int sz = fleetSlider.getValue();
		this.getGameDataManager().moveFleet(getFromPlanet(), getToPlanet(), sz);
		this.fleetSizeTextField.setText(String.valueOf(sz));
		this.setFromPlanet(getFromPlanet());
		this.setToPlanet(null);

	}//GEN-LAST:event_moveButtonActionPerformed

	private void fleetSizeTextFieldFocusLost(java.awt.event.FocusEvent evt)//GEN-FIRST:event_fleetSizeTextFieldFocusLost
	{//GEN-HEADEREND:event_fleetSizeTextFieldFocusLost
		updateFleetSizeUsingText();
	}//GEN-LAST:event_fleetSizeTextFieldFocusLost

	private void fleetSizeTextFieldActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_fleetSizeTextFieldActionPerformed
	{//GEN-HEADEREND:event_fleetSizeTextFieldActionPerformed
		updateFleetSizeUsingText();
	}//GEN-LAST:event_fleetSizeTextFieldActionPerformed

	private void planetsTableMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_planetsTableMouseClicked
	{//GEN-HEADEREND:event_planetsTableMouseClicked
	/*
		 * if ( evt.getClickCount() > 1) { setFromPlanet( null); setToPlanet(
		 * null); }
		 */
		int mouseRow = planetsTable.rowAtPoint(evt.getPoint());
		final Planet p = getPlanetsModel().getElementAtRow(mouseRow);
		if (p != null)
		{
			// choosePlanet(p);
			final MouseButton button = MouseButton.fromEvent(evt);
			this.selectionController.selectPlanet(p, button);
		}

	}//GEN-LAST:event_planetsTableMouseClicked

	private void j3DPanelOuterComponentShown(java.awt.event.ComponentEvent evt)//GEN-FIRST:event_j3DPanelOuterComponentShown
	{//GEN-HEADEREND:event_j3DPanelOuterComponentShown
		synchronized (this.monitor3D)
		{
			if (!isJ3DPanelConstructed && this.j3DPanel == null)
			{
				isJ3DPanelConstructed = true;
				final J3DPanel newPanel = new J3DPanel(getGameDataManager(),
						this.graphConf, this.selectionController);
				/*
				 * TODO: rethink this is hack - maybe there should be always
				 * used collection as param of call?
				 */
				getGameDataManager().getAddedPlanets();

				this.j3DPanel = newPanel;
				this.j3DPanelOuter.add(this.j3DPanel, BorderLayout.CENTER);
			}
		}
	}//GEN-LAST:event_j3DPanelOuterComponentShown

	


	private void updateFleetSizeUsingText()
	{
		try
		{
			final int fleetSize = Integer
					.parseInt(fleetSizeTextField.getText());
			if (fleetSize <= getFromPlanet().getHomeFleetSize())
			{
				if (this.fleetSlider.getMaximum() < fleetSize)
				{
					this.fleetSlider.setMaximum(fleetSize);
				}
				this.fleetSlider.setValue(fleetSize);
				this.fleetSizeTextField.setForeground(Color.BLACK);
			}
			else
			{
				this.fleetSizeTextField.setForeground(Color.RED);
			}

		}
		catch (final NumberFormatException pe)
		{
			LOG.warn(pe, pe);
			this.fleetSizeTextField.setForeground(Color.RED);
		}
	}


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel distanceLabel;
    private javax.swing.JTextField fleetSizeTextField;
    private javax.swing.JSlider fleetSlider;
    private javax.swing.JScrollPane fleetsScrollPane;
    private javax.swing.JTable fleetsTable;
    private javax.swing.JPanel j3DPanelOuter;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JSplitPane jSplitPane1;
    private javax.swing.JSplitPane jSplitPane2;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTextArea logsTextArea;
    private javax.swing.JButton moveButton;
    private javax.swing.JPanel movePanel;
    private javax.swing.JTextField ownRealmNameTextField;
    private javax.swing.JTextField planetsCntTextField;
    private javax.swing.JTable planetsTable;
    private javax.swing.JTable playersTable;
    private javax.swing.JPanel realmPanel;
    private javax.swing.JScrollPane realmsScrollPane;
    private javax.swing.JPanel selectedPlanetPanel;
    private javax.swing.JTextField shipsCntTextField;
    private javax.swing.JPanel toPlanetPanelView;
    private javax.swing.JTextField totalProductivityTextField;
    // End of variables declaration//GEN-END:variables

	private FleetsTableModelX getFleetsModel()
	{
		return this.fleetsTableModel;
	}

	private PlanetsTableModel getPlanetsModel()
	{
		return this.planetsTableModel;
	}

	private void refresh3DView(final Collection<Planet> added)
	{
		// hide fleets
		final Collection<Fleet> tohide = getGameDataManager().getFleetsToHide();
		
		synchronized (this.monitor3D)
		{
			if (this.j3DPanel != null)
			{
				hideFleets(tohide);
				// update fleets
				updateFleets3D();
				// show fleets
				final Collection<Fleet> toshow = getGameDataManager()
						.getFleetsToShow();
				showFleets(toshow);

				final Collection<Planet> ownerShipUpdate = getGameDataManager()
						.getUpdateOwnerShipCollection();
				for (final Planet planet : ownerShipUpdate)
				{
					assert LOG.debug("ownership update:" + planet.getName());
					j3DPanel.planetOwnerShipChanged(planet);

				}

				for (final Planet planet : added)
				{
					assert LOG.debug("added planet update:" + planet.getName());
					j3DPanel.showPlanet(planet);

				}
			}
		}

	}

	private void showFleets(final Collection<Fleet> toshow)
	{
		for (final Fleet f : toshow)
		{
			if ( f != null)
			{
				final long startTime = System.currentTimeMillis();
				j3DPanel.showFleet(f);
				assert LOG.debug((System.currentTimeMillis() - startTime)
					+ "ms for show fleet :" + f.getKey() + "("
					+ f.getSize() + ")" + f.getPosition());
			}
		}
	}

	private void updateFleets3D()
	{

⌨️ 快捷键说明

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