📄 clientpanel.java
字号:
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 + -