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

📄 mgmtsimulator.java

📁 关于 RFID 读写器的相关内容
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
								}
							}
						}
						{
							readPointOperStatusPanel = new JPanel();
							BorderLayout readPointOperStatusPanelLayout = new BorderLayout();
							readPointOperStatusPanel.setLayout(readPointOperStatusPanelLayout);
							readPointActionPanel.add(readPointOperStatusPanel);
							readPointOperStatusPanel.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
							readPointOperStatusPanel.setPreferredSize(new java.awt.Dimension(216, 168));
							{
								readPointOperStatusLabelPanel = new JPanel();
								FlowLayout readPointOperStatusLabelPanelLayout = new FlowLayout();
								readPointOperStatusLabelPanelLayout.setAlignment(FlowLayout.LEFT);
								readPointOperStatusPanel.add(readPointOperStatusLabelPanel, BorderLayout.NORTH);
								readPointOperStatusLabelPanel.setLayout(readPointOperStatusLabelPanelLayout);
								{
									readPointOperStatusLabel = new JLabel();
									readPointOperStatusLabelPanel.add(readPointOperStatusLabel);
									readPointOperStatusLabel
										.setText("Choose an operational status:");
								}
							}
							{
								readPointRadioButtonPanel = new JPanel();
								BoxLayout readPointRadioButtonPanelLayout = new BoxLayout(
									readPointRadioButtonPanel,
									javax.swing.BoxLayout.Y_AXIS);
								readPointRadioButtonPanel.setLayout(readPointRadioButtonPanelLayout);
								readPointOperStatusPanel.add(readPointRadioButtonPanel, BorderLayout.CENTER);
								readPointRadioButtonPanel.setPreferredSize(new java.awt.Dimension(212, 85));
								{
									readPointUpRadioButton = new JRadioButton();
									readPointRadioButtonPanel.add(readPointUpRadioButton);
									readPointUpRadioButton.setText("UP");
								}
								{
									readPointDownRadioButton = new JRadioButton();
									readPointRadioButtonPanel.add(readPointDownRadioButton);
									readPointDownRadioButton.setText("DOWN");
								}
								{
									readPointOtherRadioButton = new JRadioButton();
									readPointRadioButtonPanel.add(readPointOtherRadioButton);
									readPointOtherRadioButton.setText("OTHER");
								}
								{
									readPointUnknownRadioButton = new JRadioButton();
									readPointRadioButtonPanel.add(readPointUnknownRadioButton);
									readPointUnknownRadioButton
										.setText("UNKNOWN");
								}
								{
									readPointRadioButtonGroup = new ButtonGroup();
									readPointRadioButtonGroup.add(readPointUpRadioButton);
									readPointUpRadioButton
										.addItemListener(new ItemListener() {
										public void itemStateChanged(
											ItemEvent evt) {
											readPointRadioButtonItemStateChanged(evt);
										}
										});
									readPointRadioButtonGroup.add(readPointDownRadioButton);
									readPointDownRadioButton
										.addItemListener(new ItemListener() {
										public void itemStateChanged(
											ItemEvent evt) {
											readPointRadioButtonItemStateChanged(evt);
										}
										});
									readPointRadioButtonGroup.add(readPointOtherRadioButton);
									readPointOtherRadioButton
										.addItemListener(new ItemListener() {
										public void itemStateChanged(
											ItemEvent evt) {
											readPointRadioButtonItemStateChanged(evt);
										}
										});
									readPointRadioButtonGroup.add(readPointUnknownRadioButton);
									readPointUnknownRadioButton
										.addItemListener(new ItemListener() {
										public void itemStateChanged(
											ItemEvent evt) {
											readPointRadioButtonItemStateChanged(evt);
										}
										});
								}
							}
						}
					}
				}
			}
			pack();
			this.setSize(450, 400);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * Updates the items of the <code>readPointSelector</code> by requesting
	 * the read points from the reader device.
	 */
	private void updateReadPointSelector() {
		String selectedName = null;
		if (readPointSelector.getItemCount() > 0) {
			selectedName = ((ReadPointItem) (readPointSelector
					.getSelectedItem())).getReadPoint().getName();
		}
		ReadPoint[] readPoints = readerDevice.getAllReadPoints();
		ReadPointItem[] items = new ReadPointItem[readPoints.length];
		ReadPointItem selectedItem = null;
		for (int i = 0; i < readPoints.length; i++) {
			items[i] = new ReadPointItem(readPoints[i]);
			if (readPoints[i].getName().equals(selectedName))
				selectedItem = items[i];
		}
		readPointSelector.setModel(new DefaultComboBoxModel(items));
		if (selectedItem != null)
			readPointSelector.setSelectedItem(selectedItem);
	}
	
	/**
	 * Updates the <code>readPointActionPanel</code> and its content accordingly
	 * to the selected read point.
	 */
	private void updateReadPointActionPanel() {
		ReadPoint selectedReadPoint = ((ReadPointItem)(readPointSelector.getSelectedItem())).getReadPoint();
		if (selectedReadPoint instanceof AntennaReadPoint) {
			readErrorButton.setEnabled(true);
			writeErrorButton.setEnabled(true);
			killErrorButton.setEnabled(true);
			eraseErrorButton.setEnabled(true);
			lockErrorButton.setEnabled(true);
		} else {
			readErrorButton.setEnabled(false);
			writeErrorButton.setEnabled(false);
			killErrorButton.setEnabled(false);
			eraseErrorButton.setEnabled(false);
			lockErrorButton.setEnabled(false);
		}
		
		switch (selectedReadPoint.getOperStatus()) {
			case UP:
				readPointUpRadioButton.setSelected(true);
				break;
			case DOWN:
				readPointDownRadioButton.setSelected(true);
				break;
			case OTHER:
				readPointOtherRadioButton.setSelected(true);
				break;
			case UNKNOWN:
				readPointUnknownRadioButton.setSelected(true);
				break;
		}
	}
	
	/**
	 * Called whenever the item states of the read point radio buttons have been
	 * changed.
	 * 
	 * @param evt
	 *            The item event
	 */
	private void readPointRadioButtonItemStateChanged(ItemEvent evt) {
		JRadioButton radioButton = (JRadioButton)evt.getSource();
		if (evt.getStateChange() == ItemEvent.SELECTED) {
			ReadPoint selectedReadPoint = ((ReadPointItem)(readPointSelector.getSelectedItem())).getReadPoint();
			if (radioButton == readPointUpRadioButton) {
				selectedReadPoint.setOperStatus(OperationalStatus.UP);
			} else if (radioButton == readPointDownRadioButton) {
				selectedReadPoint.setOperStatus(OperationalStatus.DOWN);
			} else if (radioButton == readPointOtherRadioButton) {
				selectedReadPoint.setOperStatus(OperationalStatus.OTHER);
			} else if (radioButton == readPointUnknownRadioButton) {
				selectedReadPoint.setOperStatus(OperationalStatus.UNKNOWN);
			}
		}
	}
	
	/**
	 * Called whenever the item state of the <code>readPointSelector</code>
	 * has been changed.
	 * 
	 * @param evt
	 *            The item event
	 */
	private void readPointSelectorItemStateChanged(ItemEvent evt) {
		updateReadPointActionPanel();
	}
	
	/**
	 * Called on an action event on the <code>readErrorButton</code>.
	 * 
	 * @param evt
	 *            The action event
	 */
	private void readErrorButtonActionPerformed(ActionEvent evt) {
		updateReadPointSelector();
		AntennaReadPoint selectedReadPoint = (AntennaReadPoint) ((ReadPointItem) (readPointSelector
				.getSelectedItem())).getReadPoint();
		selectedReadPoint.memReadFailureOccurred();
	}
	
	/**
	 * Called on an action event on the <code>writeErrorButton</code>.
	 * 
	 * @param evt
	 *            The action event
	 */
	private void writeErrorButtonActionPerformed(ActionEvent evt) {
		updateReadPointSelector();
		AntennaReadPoint selectedReadPoint = (AntennaReadPoint) ((ReadPointItem) (readPointSelector
				.getSelectedItem())).getReadPoint();
		selectedReadPoint.writeFailureOccurred();
	}
	
	/**
	 * Called on an action event on the <code>killErrorButton</code>.
	 * 
	 * @param evt
	 *            The action event
	 */
	private void killErrorButtonActionPerformed(ActionEvent evt) {
		updateReadPointSelector();
		AntennaReadPoint selectedReadPoint = (AntennaReadPoint) ((ReadPointItem) (readPointSelector
				.getSelectedItem())).getReadPoint();
		selectedReadPoint.killFailureOccurred();
	}
	
	/**
	 * Called on an action event on the <code>eraseErrorButton</code>.
	 * 
	 * @param evt
	 *            The action event
	 */
	private void eraseErrorButtonActionPerformed(ActionEvent evt) {
		updateReadPointSelector();
		AntennaReadPoint selectedReadPoint = (AntennaReadPoint) ((ReadPointItem) (readPointSelector
				.getSelectedItem())).getReadPoint();
		selectedReadPoint.eraseFailureOccurred();
	}
	
	/**
	 * Called on an action event on the <code>lockErrorButton</code>.
	 * 
	 * @param evt
	 *            The action event
	 */
	private void lockErrorButtonActionPerformed(ActionEvent evt) {
		updateReadPointSelector();
		AntennaReadPoint selectedReadPoint = (AntennaReadPoint) ((ReadPointItem) (readPointSelector
				.getSelectedItem())).getReadPoint();
		selectedReadPoint.lockFailureOccurred();
	}
	
	/**
	 * Called whenever the <code>readPointSelector</code>'s popup menu
	 * becomes visible.
	 * 
	 * @param evt
	 *            The popup menu event
	 */
	private void readPointSelectorPopupMenuWillBecomeVisible(PopupMenuEvent evt) {
		updateReadPointSelector();
		updateReadPointActionPanel();
	}
	
	/**
	 * This class representates a list item used by the
	 * <code>readPointSelector</code>.
	 */
	private class ReadPointItem {
		
		/**
		 * The read point.
		 */
		private ReadPoint readPoint;
		
		/**
		 * The constructor.
		 * 
		 * @param readPoint
		 *            The read point
		 */
		public ReadPointItem(ReadPoint readPoint) {
			this.readPoint = readPoint;
		}
		
		/**
		 * Returns the read point.
		 * 
		 * @return The read point
		 */
		public ReadPoint getReadPoint() {
			return readPoint;
		}

		/* (non-Javadoc)
		 * @see java.lang.Object#toString()
		 */
		@Override
		public String toString() {
			return readPoint.getName() + " ("
					+ readPoint.getClass().getSimpleName() + ")";
		}
	}

}

⌨️ 快捷键说明

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