?? remotecontrol.java
字號:
sendData(target, appId, parseDataField()); break; } }//GEN-LAST:event_sendButtonActionPerformed private void configNameTextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_configNameTextActionPerformed if( configNameText.getSelectedIndex() < 0 ) return; String name = (String)configNameText.getSelectedItem(); Preferences p = prefs.node(prefs.absolutePath() + "/config/" + name); appIdTextField.setText(new String(p.get("appId", "0x00"))); targetTextField.setText(new String(p.get("target", "0x0000"))); intCmdTextField.setText(new String(p.get("intParam", "0x00"))); dataParamTextField.setText(new String(p.get("dataParam", ""))); usageTextField.setText(new String(p.get("usage", ""))); jTabbedPane1.setSelectedIndex(Integer.parseInt(p.get("type","0"))); int selected = Integer.parseInt(p.get("command","0")); if(selected == START) buttonGroup1.setSelected(startRadioButton.getModel(),true); else if(selected == STOP) buttonGroup1.setSelected(stopRadioButton.getModel(),true); else if(selected == RESTART) buttonGroup1.setSelected(restartRadioButton.getModel(),true); setTitle("Remote Controller - "+name); super.setTitle(getTitle()); }//GEN-LAST:event_configNameTextActionPerformed private void delConfigButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_delConfigButtonActionPerformed String name = (String)configNameText.getSelectedItem(); logTextArea.append("configuration " + name + " removed\n"); configNameText.removeItem(name); try { saveComboBox(); Preferences p = prefs.node(prefs.absolutePath() + "/config/" + name); p.removeNode(); prefs.flush(); } catch(BackingStoreException e) { logTextArea.append("could not write preferences\n"); }; }//GEN-LAST:event_delConfigButtonActionPerformed private void saveConfigButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveConfigButtonActionPerformed String name = (String)configNameText.getSelectedItem(); logTextArea.append("configuration " + name + " saved\n"); if( configNameText.getSelectedIndex() < 0 ) configNameText.addItem(name); try { setTitle("Remote Controller - "+name); super.setTitle(getTitle()); saveComboBox(); Preferences p = prefs.node(prefs.absolutePath() + "/config/" + name); p.put("appId", appIdTextField.getText()); p.put("target", targetTextField.getText()); p.put("intParam", intCmdTextField.getText()); p.put("dataParam", dataParamTextField.getText()); p.put("usage", usageTextField.getText()); p.put("type", Integer.toString(jTabbedPane1.getSelectedIndex())); int commandSelect = 0; javax.swing.ButtonModel selectedButton = buttonGroup1.getSelection(); if(selectedButton == startRadioButton.getModel()) commandSelect = START; else if(selectedButton == stopRadioButton.getModel()) commandSelect = STOP; else if(selectedButton == restartRadioButton.getModel()) commandSelect = RESTART; p.put("command", Integer.toString(commandSelect )); prefs.flush(); } catch(BackingStoreException e) { logTextArea.append("could not write preferences\n"); }; }//GEN-LAST:event_saveConfigButtonActionPerformed private void addToLogTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addToLogTextFieldActionPerformed logTextArea.append(addToLogTextField.getText()+"\n"); }//GEN-LAST:event_addToLogTextFieldActionPerformed private void addtoLogButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addtoLogButtonActionPerformed logTextArea.append(addToLogTextField.getText()+"\n"); }//GEN-LAST:event_addtoLogButtonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton sendButton; private javax.swing.JRadioButton startRadioButton; private javax.swing.JLabel intCmdLabel; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextField targetTextField; private javax.swing.JTextField intCmdTextField; private javax.swing.JPanel controlPanel; private javax.swing.JComboBox configNameText; private javax.swing.JRadioButton restartRadioButton; private javax.swing.JLabel seqnLabel; private javax.swing.JTextField dataParamTextField; private javax.swing.JPanel runPanel; private javax.swing.JLabel appIdLabel; private javax.swing.JButton delConfigButton; private javax.swing.JPanel commandPanel; private javax.swing.JTextArea usageTextField; private javax.swing.JTextField appIdTextField; private javax.swing.JButton clearLogButton; private javax.swing.JPanel intPanel; private javax.swing.JTextField seqnTextField; private javax.swing.JLabel dataParamLabel; private javax.swing.ButtonGroup buttonGroup1; private javax.swing.JPanel logPanel; private javax.swing.JTextArea logTextArea; private javax.swing.JLabel targetLabel; private javax.swing.JPanel savePanel; private javax.swing.JRadioButton stopRadioButton; private javax.swing.JTextField addToLogTextField; private javax.swing.JButton saveConfigButton; private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JButton addtoLogButton; // End of variables declaration//GEN-END:variables private byte[] parseDataField(){ StringTokenizer tokenizedData = new StringTokenizer(dataParamTextField.getText()); byte[] data = new byte[tokenizedData.countTokens()*2]; int count = 0; while (tokenizedData.hasMoreTokens()) { String dataToken = tokenizedData.nextToken(); if (dataToken.substring(dataToken.length()-1).toUpperCase().equals("W")){ String wordString = dataToken.substring(0,dataToken.length()-1); data[count++] = (byte)parseInt(wordString); data[count++] = (byte)(parseInt(wordString)/256); }else{ data[count++] = (byte)parseInt(dataToken); } } byte[] returnData = new byte[count]; System.arraycopy(data, 0, returnData, 0, count); return returnData; } private int parseInt(String value){ try{ if(value == null) return 0; else if(value.trim().toUpperCase().startsWith("0X")) return Integer.parseInt(value.trim().substring(2),16); else return Integer.parseInt(value.trim()); } catch(RuntimeException e){ return 0; } } private void saveComboBox() { /*String items = ""; for(int i = 0; i < configNameText.getItemCount(); ++i) items = items + (String)configNameText.getItemAt(i) + "\n"; prefs.put("configs", items);*/ } private void loadComboBox() { configNameText.removeAllItems(); //StringTokenizer tokenizer = new StringTokenizer(prefs.get("configs", ""), "\n"); try{ Preferences p = prefs.node(prefs.absolutePath() + "/config"); String[] configNames = p.childrenNames(); for(int i=0; i< configNames.length; i++) configNameText.addItem(configNames[i]); }catch (java.util.prefs.BackingStoreException bse){ System.err.println("Cannot Load Configurations:"+ bse.getMessage()); } } public static void sendInteger(int target, byte appId, int integer){ byte data[] = new byte[7]; // seqNum data[0] = sequenceNum++; // target data[1] = (byte)target; data[2] = (byte)(target/256); // dataType data[3] = INT; // application ID data[4] = appId; // integer (uint16_t) data[5] = (byte)integer; data[6] = (byte)(integer/256); for (int i = 0; i < COMMAND_RESEND; i++) SerialConnector.instance().sendMessage(BROADCAST,AM_TYPE,data); } public static void sendData(int target, byte appId, byte pData[]){ byte data[]; if (pData.length > 24){ // write to log that the data part is too long, it will be sent truncated data = new byte[29]; } else{ data = new byte[5+pData.length]; } // seqNum data[0] = sequenceNum++; // target data[1] = (byte)target; data[2] = (byte)(target/256); // dataType data[3] = DATA; // application ID data[4] = appId; // data copy System.arraycopy(pData, 0, data, 5, data.length-5); for (int i = 0; i < COMMAND_RESEND; i++) SerialConnector.instance().sendMessage(BROADCAST,AM_TYPE,data); } public static void sendCommand(int target, byte appId, byte command){ byte data[] = new byte[6]; // seqNum data[0] = sequenceNum++; // target data[1] = (byte)target; data[2] = (byte)(target/256); // dataType data[3] = COMMAND; // application ID data[4] = appId; // command data[5] = command; for (int i = 0; i < COMMAND_RESEND; i++) SerialConnector.instance().sendMessage(BROADCAST,AM_TYPE,data); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -