List of usage examples for javax.swing.text DefaultEditorKit.CopyAction DefaultEditorKit.CopyAction
DefaultEditorKit.CopyAction
From source file:dnd.TextCutPaste.java
/** * Create an Edit menu to support cut/copy/paste. */// ww w .j a v a 2s . c om public JMenuBar createMenuBar() { JMenuItem menuItem = null; JMenuBar menuBar = new JMenuBar(); JMenu mainMenu = new JMenu("Edit"); mainMenu.setMnemonic(KeyEvent.VK_E); menuItem = new JMenuItem(new DefaultEditorKit.CutAction()); menuItem.setText("Cut"); menuItem.setMnemonic(KeyEvent.VK_T); mainMenu.add(menuItem); menuItem = new JMenuItem(new DefaultEditorKit.CopyAction()); menuItem.setText("Copy"); menuItem.setMnemonic(KeyEvent.VK_C); mainMenu.add(menuItem); menuItem = new JMenuItem(new DefaultEditorKit.PasteAction()); menuItem.setText("Paste"); menuItem.setMnemonic(KeyEvent.VK_P); mainMenu.add(menuItem); menuBar.add(mainMenu); return menuBar; }
From source file:org.planetcrypto.bitcoin.PlanetCryptoBitcoinUI.java
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor.// w ww.j a v a2 s . c o m */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { bindingGroup = new org.jdesktop.beansbinding.BindingGroup(); MainTabbedPane = new javax.swing.JTabbedPane(); MinerInformationPanel = new javax.swing.JPanel(); MinerInformationTabbedPane = new javax.swing.JTabbedPane(); InformationPanel = new javax.swing.JPanel(); MinerSelectionBox = new javax.swing.JComboBox(); MinerSelectionBoxLabel = new javax.swing.JLabel(); InformationMinerIPLabel = new javax.swing.JLabel(); InformationMinerIPTextField = new javax.swing.JTextField(); InformationMinerPortLabel = new javax.swing.JLabel(); InformationMinerPortTextField = new javax.swing.JTextField(); PrivilegedLabel = new javax.swing.JLabel(); ASICsLabel = new javax.swing.JLabel(); PrivilegedTextField = new javax.swing.JTextField(); ASICsTextField = new javax.swing.JTextField(); PGAsLabel = new javax.swing.JLabel(); PGAsTextField = new javax.swing.JTextField(); PoolCountLabel = new javax.swing.JLabel(); PoolCountTextField = new javax.swing.JTextField(); MinerVersionLabel = new javax.swing.JLabel(); MinerVersionTextField = new javax.swing.JTextField(); MinerStrategyLabel = new javax.swing.JLabel(); MinerStrategyTextField = new javax.swing.JTextField(); ACSChain1Label = new javax.swing.JLabel(); ACSChain1TextField = new javax.swing.JTextField(); ACSChain2Label = new javax.swing.JLabel(); ACSChain3Label = new javax.swing.JLabel(); ACSChain4Label = new javax.swing.JLabel(); ACSChain2TextField = new javax.swing.JTextField(); ACSChain3TextField = new javax.swing.JTextField(); ACSChain4TextField = new javax.swing.JTextField(); BytesSentLabel = new javax.swing.JLabel(); BytesRecvLabel = new javax.swing.JLabel(); BytesSentTextField = new javax.swing.JTextField(); BytesRecvTextField = new javax.swing.JTextField(); HWErrorPercentLabel = new javax.swing.JLabel(); HWErrorPercentageTextField = new javax.swing.JTextField(); HWErrorsLabel = new javax.swing.JLabel(); HWErrorsTextField = new javax.swing.JTextField(); ACSChainInformationLabel = new javax.swing.JLabel(); MinerGenericInformationRefreshButton = new javax.swing.JButton(); MinerHashRatesPanel = new javax.swing.JPanel(); HashRatesCurrentMiner = new javax.swing.JLabel(); MinerCurrentHashLabel = new javax.swing.JLabel(); MinerCurrentHashTextField = new javax.swing.JTextField(); MinerAverageHashLabel = new javax.swing.JLabel(); MinerAverageHashTextField = new javax.swing.JTextField(); MinerFoundBlocksLabel = new javax.swing.JLabel(); MinerAcceptedLabel = new javax.swing.JLabel(); MinerRejectedLabel = new javax.swing.JLabel(); MinerBestShareLabel = new javax.swing.JLabel(); MinerNetworkBlocksLabel = new javax.swing.JLabel(); MinerFoundBlocksTextField = new javax.swing.JTextField(); MinerAcceptedTextField = new javax.swing.JTextField(); MinerRejectedTextField = new javax.swing.JTextField(); MinerBestShareTextField = new javax.swing.JTextField(); MinerNetworkBlocksTextField = new javax.swing.JTextField(); MinerSelectionBox1 = new javax.swing.JComboBox(); MinerHashRatesRefreshButton = new javax.swing.JButton(); MinerTemperaturePanel = new javax.swing.JPanel(); TemperatureCurrentMinerLabel = new javax.swing.JLabel(); MinerTemp1Label = new javax.swing.JLabel(); MinerTemp2Label = new javax.swing.JLabel(); MinerTemp3Label = new javax.swing.JLabel(); MinerTemp4Label = new javax.swing.JLabel(); MinerTempAvgLabel = new javax.swing.JLabel(); MinerTempMaxLabel = new javax.swing.JLabel(); MinerTemp1TextField = new javax.swing.JTextField(); MinerTemp2TextField = new javax.swing.JTextField(); MinerTemp3TextField = new javax.swing.JTextField(); MinerTemp4TextField = new javax.swing.JTextField(); MinerTempAvgTextField = new javax.swing.JTextField(); MinerTextMaxTextField = new javax.swing.JTextField(); MinerSelectionBox2 = new javax.swing.JComboBox(); MinerTemperaturesRefreshButton = new javax.swing.JButton(); MinerFansPanel = new javax.swing.JPanel(); FansCurrentMinerLabel = new javax.swing.JLabel(); MinerFan1Label = new javax.swing.JLabel(); MinerFan2Label = new javax.swing.JLabel(); MinerFan3Label = new javax.swing.JLabel(); MinerFan4Label = new javax.swing.JLabel(); MinerFan1TextField = new javax.swing.JTextField(); MinerFan2TextField = new javax.swing.JTextField(); MinerFan3TextField = new javax.swing.JTextField(); MinerFan4TextField = new javax.swing.JTextField(); MinerSelectionBox3 = new javax.swing.JComboBox(); MinerFanSpeedsRefreshButton = new javax.swing.JButton(); CustomAPICommandPanel = new javax.swing.JPanel(); CustomAPICommandCurrentMiner = new javax.swing.JLabel(); CustomCommandEntryLabel = new javax.swing.JLabel(); CustomCommandEntryTextField = new javax.swing.JTextField(); CustomCommandOutputScrollPane = new javax.swing.JScrollPane(); CustomCommandOutputTextArea = new javax.swing.JTextArea(); CustomCommandOutputLabel = new javax.swing.JLabel(); CustomCommandSubmitButton = new javax.swing.JButton(); CustomCommandJsonCheckBox = new javax.swing.JCheckBox(); CustomCommandMinerSelectionBox = new javax.swing.JComboBox(); MinerVitalsPanel = new javax.swing.JPanel(); jScrollPane2 = new javax.swing.JScrollPane(); MinerVitalStatsTextPane = new javax.swing.JTextPane(); jLabel1 = new javax.swing.JLabel(); VitalStatsRefreshButton = new javax.swing.JButton(); BTCInformationPane = new javax.swing.JPanel(); BitcoinInformationTabbedPane = new javax.swing.JTabbedPane(); BTCGenericInformationPanel = new javax.swing.JPanel(); BTCConversionRateLabel = new javax.swing.JLabel(); NetworkDifficultyLabel = new javax.swing.JLabel(); EstimatedPayoutLabel = new javax.swing.JLabel(); NetworkDifficultyTextField = new javax.swing.JTextField(); BTCConversionRateTextField = new javax.swing.JTextField(); EstimatedPayoutTextField = new javax.swing.JTextField(); CurrentBlockHashLabel = new javax.swing.JLabel(); CurrentBlockHashTextField = new javax.swing.JTextField(); CurrentBlockTimeLabel = new javax.swing.JLabel(); CurrentBlockTimeTextField = new javax.swing.JTextField(); GenericInformationCurrentMinerLabel = new javax.swing.JLabel(); MinerSelectionBox5 = new javax.swing.JComboBox(); BitcoinInformationRefreshButton = new javax.swing.JButton(); GenericInformationCoinbaseUserLabel = new javax.swing.JLabel(); GenericInformationCoinbaseUserSelectionBox = new javax.swing.JComboBox(); GenericInformationAbbreviatedPreferredCurrencyLabel = new javax.swing.JLabel(); GenericInformationAbbreviatedPreferredCurrencyLabel2 = new javax.swing.JLabel(); CoinbaseAPIPanel = new javax.swing.JPanel(); CoinbaseAPILabel = new javax.swing.JLabel(); CoinbaseAPICurrentUserLabel = new javax.swing.JLabel(); CoinbaseAPIUserSelectionBox = new javax.swing.JComboBox(); EligiusPoolInformationPanel = new javax.swing.JPanel(); EligiusStatusLabel = new javax.swing.JLabel(); EligiusHashRateInformationScrollPane = new javax.swing.JScrollPane(); EligiusHashRateInformationTable = new javax.swing.JTable(); EligiusPayoutInformationPayoutScrollPane = new javax.swing.JScrollPane(); EligiusPayoutInformationTable = new javax.swing.JTable(); EligiusPoolInformationRefreshButton = new javax.swing.JButton(); EligiusPayoutKeyInformationScrollPane = new javax.swing.JScrollPane(); EligiousPayoutKeyInformationTextPane = new javax.swing.JTextPane(); EligiusUsernameSelectionBox = new javax.swing.JComboBox(); EligiusUsernameClipboardCopyButton = new javax.swing.JButton(); EligiusPoolCurrentUsernameLabel = new javax.swing.JLabel(); EligiusOpenBrowserButton = new javax.swing.JButton(); ConfigurationPanel = new javax.swing.JPanel(); ConfigurationTabbedPane = new javax.swing.JTabbedPane(); MinerConfigurationPanel = new javax.swing.JPanel(); ConfigurationPromptLabel = new javax.swing.JLabel(); ConfigurationRemoveMinerButton = new javax.swing.JButton(); ConfigurationAddMinerButton = new javax.swing.JButton(); ConfigurationAddMinerNameLabel = new javax.swing.JLabel(); ConfigurationAddMinerNameTextField = new javax.swing.JTextField(); ConfigurationAddMinerIPLabel = new javax.swing.JLabel(); ConfigurationAddMinerIPTextField = new javax.swing.JTextField(); ConfigurationMinerPortLabel = new javax.swing.JLabel(); ConfigurationMinerPortTextField = new javax.swing.JTextField(); ConfigurationAddMinersLabel = new javax.swing.JLabel(); ConfigurationRemoveMinersLabel = new javax.swing.JLabel(); ConfigurationRemoveMinerNameLabel = new javax.swing.JLabel(); ConfigurationRemoveMinerNameTextField = new javax.swing.JTextField(); ConfigurationCurrentMinersLabel = new javax.swing.JLabel(); ConfigurationRemoveMinerIPLabel = new javax.swing.JLabel(); ConfigurationRemoveMinerIPTextField = new javax.swing.JTextField(); ConfigurationResolveHostAddressLabel = new javax.swing.JLabel(); ConfigurationResolveHostAddressTextField = new javax.swing.JTextField(); ConfigurationResolveHostAddressButton = new javax.swing.JButton(); ConfigurationCurrentMinersScrollPane = new javax.swing.JScrollPane(); ConfigurationCurrentMinersTextPane = new javax.swing.JTextPane(); ConfigurationAlarmPanel = new javax.swing.JPanel(); ConfigurationAlarmSettingsPromptLabel = new javax.swing.JLabel(); ConfigurationMinerTemperatureAlarmLabel = new javax.swing.JLabel(); ConfigurationMinerFanSpeedAlarmLabel = new javax.swing.JLabel(); ConfigurationMinerHashRateAlarmLabel = new javax.swing.JLabel(); MinerSelectionForAlarmsBox = new javax.swing.JComboBox(); AlarmsCurrentMinerLabel = new javax.swing.JLabel(); ConfigurationAlarmsHWErrPercentLabel = new javax.swing.JLabel(); ConfigurationMinerTempAlarmTextField = new javax.swing.JTextField(); ConfigurationFanSpeedAlarmTextField = new javax.swing.JTextField(); ConfigurationMinerHashRateAlarmTextField = new javax.swing.JTextField(); ConfigurationMinerHardwareErrPercentAlarmTextField = new javax.swing.JTextField(); ConfigurationDegreesCelsiusLabel = new javax.swing.JLabel(); ConfigurationFanRPMLabel = new javax.swing.JLabel(); ConfigurationHashRatePostfixComboBox = new javax.swing.JComboBox(); ConfigurationHWErrorPercentLabel = new javax.swing.JLabel(); ConfigurationMinerTempAlarmUpdateButton = new javax.swing.JButton(); ConfigurationMinerFanSpeedAlarmUpdateButton = new javax.swing.JButton(); ConfigurationMinerHashRateAlarmUpdateButton = new javax.swing.JButton(); ConfigurationMinerHardwareErrPercentAlarmUpdateButton = new javax.swing.JButton(); ConfigurationCurrentMinerAlarmsScrollPane = new javax.swing.JScrollPane(); ConfigurationCurrentMinerAlarmsTextPane = new javax.swing.JTextPane(); ConfigurationCurrentMinerAlarmsLabel = new javax.swing.JLabel(); ConfigurationEligiusPoolsPanel = new javax.swing.JPanel(); ConfigurationEligiusLabel = new javax.swing.JLabel(); ConfigurationMiningPoolPromptLabel = new javax.swing.JLabel(); ConfigurationEligiusUsernameLabel = new javax.swing.JLabel(); ConfigurationEligiusUsernameTextField = new javax.swing.JTextField(); ConfigurationEligiusHelpPromptLabel = new javax.swing.JLabel(); ConfigurationEligiusUsernameAddButton = new javax.swing.JButton(); ConfigurationEligiusUsernameRemoveButton = new javax.swing.JButton(); ConfigurationEligiusExampleLabel = new javax.swing.JLabel(); ConfigurationCoinExchangePanel = new javax.swing.JPanel(); ConfigurationCoinbaseLabel = new javax.swing.JLabel(); ConfigurationCoinbaseCurrencyLabel = new javax.swing.JLabel(); ConfigurationCoinbaseCurrencyComboBox = new javax.swing.JComboBox(); CoinbaseConfigurationSeparator = new javax.swing.JSeparator(); CoinbaseInformationLabel = new javax.swing.JLabel(); CoinbaseUsernameLabel = new javax.swing.JLabel(); CoinbaseAPIUsernameTextField = new javax.swing.JTextField(); CoinbaseAPIKeyLabel = new javax.swing.JLabel(); CoinbaseAPIKeyTextField = new javax.swing.JTextField(); CoinbaseAPISecretKeyLabel = new javax.swing.JLabel(); CoinbaseAPISecretKeyTextField = new javax.swing.JTextField(); AddCoinbaseUsernameButton = new javax.swing.JButton(); RemoveCoinbaseUsernameButton = new javax.swing.JButton(); CurrentCoinbaseConfigurationLabel = new javax.swing.JLabel(); CoinbaseConfigurationSeparator1 = new javax.swing.JSeparator(); CurrentCoinbaseConfigurationScrollPane = new javax.swing.JScrollPane(); CurrentCoinbaseConfigurationTextPane = new javax.swing.JTextPane(); CoinbaseConfigurationVerticalSeparator = new javax.swing.JSeparator(); CoinbaseConfigurationInstructionsScrollPane = new javax.swing.JScrollPane(); CoinbaseConfigurationInstructionsTextPane = new javax.swing.JTextPane(); CoinbaseConfigurationInstructionsLabel = new javax.swing.JLabel(); BFGMInerUIMenuBar = new javax.swing.JMenuBar(); FileMenu = new javax.swing.JMenu(); FileExitMenuItem = new javax.swing.JMenuItem(); EditMenu = new javax.swing.JMenu("Edit"); CopyMenuItem = new javax.swing.JMenuItem(new DefaultEditorKit.CopyAction()); PasteMenuItem = new javax.swing.JMenuItem(new DefaultEditorKit.PasteAction()); HelpMenu = new javax.swing.JMenu(); AppHelpMenuItem = new javax.swing.JMenuItem(); AboutMenuItem = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("PlanetCrypto Bitcoin"); setBackground(new java.awt.Color(204, 255, 255)); MainTabbedPane.setToolTipText(""); MainTabbedPane.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MainTabbedPane.setName(""); // NOI18N MinerInformationTabbedPane.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ArrayList<String> miners = new ArrayList<>(); existing_miners = currentMiners(); //jComboBox1. if (existing_miners.get(0) == null) { miners.add("No Miners"); } else { for (int i = 0; i < existing_miners.size(); i++) { miners.add(existing_miners.get(i).get("name")); } } MinerSelectionBox.setModel(new javax.swing.DefaultComboBoxModel(miners.toArray())); MinerSelectionBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MinerSelectionBoxActionPerformed(evt); } }); MinerSelectionBoxActionPerformed(null); MinerSelectionBoxLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerSelectionBoxLabel.setText("Current Miner:"); InformationMinerIPLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N InformationMinerIPLabel.setText("Miner IP:"); /* if (existing_miners.get(MinerSelectionBox.getSelectedIndex()).get("name").equals("None")) { InformationMinerIPTextField.setText("None"); } else { InformationMinerIPTextField.setText(existing_miners.get(MinerSelectionBox.getSelectedIndex()).get("ip")); } */ InformationMinerIPTextField.setEditable(false); InformationMinerPortLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N InformationMinerPortLabel.setText("Miner Port:"); InformationMinerPortTextField.setEditable(false); /* if (existing_miners.get(MinerSelectionBox.getSelectedIndex()) == null) { InformationMinerPortTextField.setText("None"); } else { InformationMinerPortTextField.setText(existing_miners.get(MinerSelectionBox.getSelectedIndex()).get("port")); } */ PrivilegedLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N PrivilegedLabel.setText("Privileged: "); ASICsLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ASICsLabel.setText("ASICs:"); PrivilegedTextField.setEditable(false); /* if (existing_miners.get(MinerSelectionBox.getSelectedIndex()) ==null) { PrivilegedTextField.setText("None"); } else { String privileged = api_Commands.parseArgs(existing_miners.get(MinerSelectionBox.getSelectedIndex()).get("ip"), existing_miners.get(MinerSelectionBox.getSelectedIndex()).get("port"), "privileged"); String status = api_Commands.getKeys(privileged, "STATUS"); if (status.equals("E")) { PrivilegedTextField.setText("False"); } else { PrivilegedTextField.setText("True"); } } */ ASICsTextField.setEditable(false); PGAsLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N PGAsLabel.setText("PGAs:"); PGAsTextField.setEditable(false); PoolCountLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N PoolCountLabel.setText("Pool Count:"); PoolCountTextField.setEditable(false); MinerVersionLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerVersionLabel.setText("Version:"); MinerVersionTextField.setEditable(false); MinerStrategyLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerStrategyLabel.setText("Strategy:"); MinerStrategyTextField.setEditable(false); ACSChain1Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ACSChain1Label.setText("ACS Chain 1:"); ACSChain1TextField.setEditable(false); ACSChain2Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ACSChain2Label.setText("ACS Chain 2:"); ACSChain3Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ACSChain3Label.setText("ACS Chain 3:"); ACSChain4Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ACSChain4Label.setText("ACS Chain 4:"); ACSChain2TextField.setEditable(false); ACSChain3TextField.setEditable(false); ACSChain4TextField.setEditable(false); BytesSentLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N BytesSentLabel.setText("Bytes Sent:"); BytesRecvLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N BytesRecvLabel.setText("Bytes Recv:"); BytesSentTextField.setEditable(false); BytesRecvTextField.setEditable(false); HWErrorPercentLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N HWErrorPercentLabel.setText("HW Error %:"); HWErrorPercentageTextField.setEditable(false); HWErrorsLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N HWErrorsLabel.setText("HW Errors:"); HWErrorsTextField.setEditable(false); ACSChainInformationLabel.setText("For ACS chains: x = Not Well; o = Well"); MinerGenericInformationRefreshButton.setText("Refresh"); MinerGenericInformationRefreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MinerGenericInformationRefreshButtonActionPerformed(evt); } }); javax.swing.GroupLayout InformationPanelLayout = new javax.swing.GroupLayout(InformationPanel); InformationPanel.setLayout(InformationPanelLayout); InformationPanelLayout.setHorizontalGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(InformationPanelLayout.createSequentialGroup().addContainerGap() .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(InformationPanelLayout.createSequentialGroup() .addComponent(ACSChainInformationLabel).addGap(51, 51, 51)) .addGroup(InformationPanelLayout.createSequentialGroup() .addGroup(InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MinerSelectionBoxLabel) .addComponent(InformationMinerIPLabel) .addComponent(ASICsLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(PGAsLabel) .addComponent(PoolCountLabel) .addComponent(MinerVersionLabel)) .addComponent(PrivilegedLabel, javax.swing.GroupLayout.Alignment.LEADING)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(ACSChain3TextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(ACSChain2TextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(ACSChain4TextField) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, InformationPanelLayout.createSequentialGroup() .addGroup(InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(MinerVersionTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent( InformationMinerIPTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(PrivilegedTextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 173, Short.MAX_VALUE) .addComponent(ASICsTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(PGAsTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(PoolCountTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MinerSelectionBox, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addGroup(InformationPanelLayout .createSequentialGroup() .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup( InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup( InformationPanelLayout .createSequentialGroup() .addGroup( InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent( BytesRecvLabel) .addComponent( HWErrorPercentLabel) .addComponent( HWErrorsLabel) .addComponent( MinerStrategyLabel)) .addGap(18, 18, 18) .addGroup( InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent( HWErrorsTextField, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent( HWErrorPercentageTextField) .addComponent( BytesRecvTextField) .addComponent( MinerStrategyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup( InformationPanelLayout .createSequentialGroup() .addGroup( InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent( InformationMinerPortLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE) .addComponent( BytesSentLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(18, 18, 18) .addGroup( InformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent( BytesSentTextField) .addComponent( InformationMinerPortTextField))))) .addGroup(InformationPanelLayout .createSequentialGroup() .addGap(31, 31, 31) .addComponent( MinerGenericInformationRefreshButton)))) .addComponent(ACSChain1TextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 458, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(41, 41, 41))) .addComponent(ACSChain1Label).addComponent(ACSChain2Label) .addComponent(ACSChain3Label).addComponent(ACSChain4Label)))); InformationPanelLayout.setVerticalGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(InformationPanelLayout.createSequentialGroup().addContainerGap() .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(MinerSelectionBoxLabel) .addComponent(MinerGenericInformationRefreshButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(InformationMinerIPLabel) .addComponent(InformationMinerIPTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(InformationMinerPortLabel).addComponent(InformationMinerPortTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(PrivilegedLabel).addComponent(BytesSentLabel) .addComponent(BytesSentTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(PrivilegedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ASICsLabel) .addComponent(ASICsTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(BytesRecvLabel) .addComponent(BytesRecvTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(PGAsLabel) .addComponent(PGAsTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(HWErrorsLabel) .addComponent(HWErrorsTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(PoolCountLabel) .addComponent(PoolCountTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(HWErrorPercentLabel).addComponent(HWErrorPercentageTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerVersionLabel) .addComponent(MinerVersionTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(MinerStrategyLabel).addComponent(MinerStrategyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ACSChain1Label).addComponent(ACSChain1TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ACSChain2Label).addComponent(ACSChain2TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ACSChain3Label).addComponent(ACSChain3TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(InformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ACSChain4Label).addComponent(ACSChain4TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18).addComponent(ACSChainInformationLabel).addGap(41, 41, 41))); MinerInformationTabbedPane.addTab("Information", InformationPanel); MinerHashRatesPanel.add(MinerSelectionBox); HashRatesCurrentMiner.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N HashRatesCurrentMiner.setText("Current Miner:"); MinerCurrentHashLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerCurrentHashLabel.setText("Current Hash:"); MinerCurrentHashTextField.setEditable(false); MinerAverageHashLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerAverageHashLabel.setText("Average Hash:"); MinerAverageHashTextField.setEditable(false); MinerFoundBlocksLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerFoundBlocksLabel.setText("Found Blocks:"); MinerAcceptedLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerAcceptedLabel.setText("Accepted:"); MinerRejectedLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerRejectedLabel.setText("Rejected:"); MinerBestShareLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerBestShareLabel.setText("Best Share:"); MinerNetworkBlocksLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerNetworkBlocksLabel.setText("Network Blocks:"); MinerFoundBlocksTextField.setEditable(false); MinerAcceptedTextField.setEditable(false); MinerRejectedTextField.setEditable(false); MinerBestShareTextField.setEditable(false); MinerNetworkBlocksTextField.setEditable(false); MinerSelectionBox1.setModel(new javax.swing.DefaultComboBoxModel(miners.toArray())); org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MinerSelectionBox, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), MinerSelectionBox1, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); MinerHashRatesRefreshButton.setText("Refresh"); MinerHashRatesRefreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MinerHashRatesRefreshButtonActionPerformed(evt); } }); javax.swing.GroupLayout MinerHashRatesPanelLayout = new javax.swing.GroupLayout(MinerHashRatesPanel); MinerHashRatesPanel.setLayout(MinerHashRatesPanelLayout); MinerHashRatesPanelLayout.setHorizontalGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerHashRatesPanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(HashRatesCurrentMiner).addComponent(MinerCurrentHashLabel) .addComponent(MinerAverageHashLabel).addComponent(MinerFoundBlocksLabel) .addComponent(MinerAcceptedLabel).addComponent(MinerRejectedLabel) .addComponent(MinerBestShareLabel).addComponent(MinerNetworkBlocksLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(MinerCurrentHashTextField) .addComponent(MinerAverageHashTextField) .addComponent(MinerFoundBlocksTextField) .addComponent(MinerAcceptedTextField).addComponent(MinerRejectedTextField) .addComponent(MinerBestShareTextField) .addComponent(MinerNetworkBlocksTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)) .addGroup(MinerHashRatesPanelLayout.createSequentialGroup() .addComponent(MinerSelectionBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(MinerHashRatesRefreshButton))) .addContainerGap(440, Short.MAX_VALUE))); MinerHashRatesPanelLayout.setVerticalGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerHashRatesPanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(HashRatesCurrentMiner) .addComponent(MinerSelectionBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(MinerHashRatesRefreshButton)) .addGap(21, 21, 21) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerCurrentHashLabel).addComponent(MinerCurrentHashTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerAverageHashLabel).addComponent(MinerAverageHashTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerFoundBlocksLabel).addComponent(MinerFoundBlocksTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerAcceptedLabel).addComponent(MinerAcceptedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerRejectedLabel).addComponent(MinerRejectedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerBestShareLabel).addComponent(MinerBestShareTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerHashRatesPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerNetworkBlocksLabel).addComponent(MinerNetworkBlocksTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); MinerInformationTabbedPane.addTab("Hash Rates", MinerHashRatesPanel); TemperatureCurrentMinerLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N TemperatureCurrentMinerLabel.setText("Current Miner:"); MinerTemp1Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerTemp1Label.setText("Temp 1:"); MinerTemp2Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerTemp2Label.setText("Temp 2:"); MinerTemp3Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerTemp3Label.setText("Temp 3:"); MinerTemp4Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerTemp4Label.setText("Temp 4:"); MinerTempAvgLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerTempAvgLabel.setText("Temp Avg:"); MinerTempMaxLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerTempMaxLabel.setText("Temp Max"); MinerTemp1TextField.setEditable(false); MinerTemp2TextField.setEditable(false); MinerTemp3TextField.setEditable(false); MinerTemp4TextField.setEditable(false); MinerTempAvgTextField.setEditable(false); MinerTextMaxTextField.setEditable(false); MinerSelectionBox2.setModel(new javax.swing.DefaultComboBoxModel(miners.toArray())); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MinerSelectionBox1, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), MinerSelectionBox2, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); MinerTemperaturesRefreshButton.setText("Refresh"); MinerTemperaturesRefreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MinerTemperaturesRefreshButtonActionPerformed(evt); } }); javax.swing.GroupLayout MinerTemperaturePanelLayout = new javax.swing.GroupLayout(MinerTemperaturePanel); MinerTemperaturePanel.setLayout(MinerTemperaturePanelLayout); MinerTemperaturePanelLayout.setHorizontalGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerTemperaturePanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(TemperatureCurrentMinerLabel).addComponent(MinerTemp1Label) .addComponent(MinerTemp2Label).addComponent(MinerTemp3Label) .addComponent(MinerTemp4Label).addComponent(MinerTempAvgLabel) .addComponent(MinerTempMaxLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(MinerTemp1TextField).addComponent(MinerTemp2TextField) .addComponent(MinerTemp3TextField).addComponent(MinerTemp4TextField) .addComponent(MinerTempAvgTextField).addComponent(MinerTextMaxTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)) .addGroup(MinerTemperaturePanelLayout.createSequentialGroup() .addComponent(MinerSelectionBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(MinerTemperaturesRefreshButton))) .addContainerGap(448, Short.MAX_VALUE))); MinerTemperaturePanelLayout.setVerticalGroup( MinerTemperaturePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerTemperaturePanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(TemperatureCurrentMinerLabel) .addComponent(MinerSelectionBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(MinerTemperaturesRefreshButton)) .addGap(21, 21, 21) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerTemp1Label).addComponent(MinerTemp1TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerTemp2Label).addComponent(MinerTemp2TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerTemp3Label).addComponent(MinerTemp3TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerTemp4Label).addComponent(MinerTemp4TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerTempAvgLabel).addComponent(MinerTempAvgTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerTemperaturePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerTempMaxLabel).addComponent(MinerTextMaxTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); MinerInformationTabbedPane.addTab("Temperatures", MinerTemperaturePanel); FansCurrentMinerLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N FansCurrentMinerLabel.setText("Current Miner:"); MinerFan1Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerFan1Label.setText("Fan 1:"); MinerFan2Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerFan2Label.setText("Fan 2:"); MinerFan3Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerFan3Label.setText("Fan 3:"); MinerFan4Label.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N MinerFan4Label.setText("Fan 4:"); MinerFan1TextField.setEditable(false); MinerFan2TextField.setEditable(false); MinerFan3TextField.setEditable(false); MinerFan4TextField.setEditable(false); MinerSelectionBox3.setModel(new javax.swing.DefaultComboBoxModel(miners.toArray())); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MinerSelectionBox2, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), MinerSelectionBox3, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); MinerFanSpeedsRefreshButton.setText("Refresh"); MinerFanSpeedsRefreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MinerFanSpeedsRefreshButtonActionPerformed(evt); } }); javax.swing.GroupLayout MinerFansPanelLayout = new javax.swing.GroupLayout(MinerFansPanel); MinerFansPanel.setLayout(MinerFansPanelLayout); MinerFansPanelLayout.setHorizontalGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerFansPanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(MinerFan3Label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(MinerFan2Label, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(MinerFan1Label, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(MinerFan4Label, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)) .addComponent(FansCurrentMinerLabel)) .addGap(18, 18, 18) .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerFansPanelLayout.createSequentialGroup() .addComponent(MinerSelectionBox3, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(MinerFanSpeedsRefreshButton)) .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(MinerFan4TextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MinerFan3TextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MinerFan2TextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MinerFan1TextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE))) .addContainerGap(442, Short.MAX_VALUE))); MinerFansPanelLayout.setVerticalGroup( MinerFansPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerFansPanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(FansCurrentMinerLabel) .addComponent(MinerSelectionBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(MinerFanSpeedsRefreshButton)) .addGap(21, 21, 21) .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerFan1Label) .addComponent(MinerFan1TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerFan2TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(MinerFan2Label)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerFan3Label).addComponent(MinerFan3TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerFansPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(MinerFan4Label).addComponent(MinerFan4TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); MinerInformationTabbedPane.addTab("Fans", MinerFansPanel); CustomAPICommandCurrentMiner.setText("Current Miner:"); CustomCommandEntryLabel.setText("Enter Custom Command:"); CustomCommandOutputTextArea.setEditable(false); CustomCommandOutputTextArea.setColumns(20); CustomCommandOutputTextArea.setRows(5); CustomCommandOutputScrollPane.setViewportView(CustomCommandOutputTextArea); CustomCommandOutputLabel.setText("Output:"); CustomCommandSubmitButton.setText("Submit"); CustomCommandSubmitButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { CustomCommandSubmitButtonActionPerformed(evt); } }); CustomCommandJsonCheckBox.setText("Check for JSON Output"); CustomCommandJsonCheckBox.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { CustomCommandJsonCheckBoxKeyPressed(evt); } }); CustomCommandMinerSelectionBox.setModel(new javax.swing.DefaultComboBoxModel(miners.toArray())); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MinerSelectionBox3, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), CustomCommandMinerSelectionBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); javax.swing.GroupLayout CustomAPICommandPanelLayout = new javax.swing.GroupLayout(CustomAPICommandPanel); CustomAPICommandPanel.setLayout(CustomAPICommandPanelLayout); CustomAPICommandPanelLayout.setHorizontalGroup(CustomAPICommandPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CustomAPICommandPanelLayout.createSequentialGroup().addGap(22, 22, 22) .addGroup(CustomAPICommandPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(CustomCommandOutputScrollPane).addComponent(CustomCommandOutputLabel) .addGroup(CustomAPICommandPanelLayout.createSequentialGroup() .addComponent(CustomCommandEntryLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(CustomCommandEntryTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18).addComponent(CustomCommandJsonCheckBox) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CustomCommandSubmitButton)) .addGroup(CustomAPICommandPanelLayout.createSequentialGroup() .addComponent(CustomAPICommandCurrentMiner) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CustomCommandMinerSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); CustomAPICommandPanelLayout.setVerticalGroup(CustomAPICommandPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CustomAPICommandPanelLayout.createSequentialGroup().addContainerGap() .addGroup(CustomAPICommandPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CustomAPICommandCurrentMiner).addComponent( CustomCommandMinerSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(20, 20, 20) .addGroup(CustomAPICommandPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CustomCommandEntryLabel) .addComponent(CustomCommandEntryTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(CustomCommandSubmitButton).addComponent(CustomCommandJsonCheckBox)) .addGap(18, 18, 18).addComponent(CustomCommandOutputLabel).addGap(7, 7, 7) .addComponent(CustomCommandOutputScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 234, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); MinerInformationTabbedPane.addTab("Custom Command", CustomAPICommandPanel); //System.out.println(existing_miners.toString()); MinerVitalStatsTextPane.setContentType("text/html"); MinerVitalStatsTextPane.setEditable(false); MinerVitalStatsTextPane.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { MinerVitalStatsTextPanePropertyChange(evt); } }); jScrollPane2.setViewportView(MinerVitalStatsTextPane); jLabel1.setFont(new java.awt.Font("DejaVu Sans", 3, 14)); // NOI18N jLabel1.setText("Vital Miner Statistics"); VitalStatsRefreshButton.setText("Refresh"); VitalStatsRefreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { VitalStatsRefreshButtonActionPerformed(evt); } }); javax.swing.GroupLayout MinerVitalsPanelLayout = new javax.swing.GroupLayout(MinerVitalsPanel); MinerVitalsPanel.setLayout(MinerVitalsPanelLayout); MinerVitalsPanelLayout.setHorizontalGroup( MinerVitalsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerVitalsPanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerVitalsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(MinerVitalsPanelLayout.createSequentialGroup() .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 645, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(VitalStatsRefreshButton)) .addComponent(jLabel1)) .addContainerGap(93, Short.MAX_VALUE))); MinerVitalsPanelLayout.setVerticalGroup(MinerVitalsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerVitalsPanelLayout.createSequentialGroup().addGap(16, 16, 16).addComponent(jLabel1) .addGap(18, 18, 18) .addGroup(MinerVitalsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 306, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(VitalStatsRefreshButton)) .addContainerGap(229, Short.MAX_VALUE))); MinerInformationTabbedPane.addTab("Vitals", MinerVitalsPanel); javax.swing.GroupLayout MinerInformationPanelLayout = new javax.swing.GroupLayout(MinerInformationPanel); MinerInformationPanel.setLayout(MinerInformationPanelLayout); MinerInformationPanelLayout.setHorizontalGroup( MinerInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MinerInformationTabbedPane)); MinerInformationPanelLayout.setVerticalGroup( MinerInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerInformationPanelLayout.createSequentialGroup().addContainerGap() .addComponent(MinerInformationTabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 615, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); MainTabbedPane.addTab("Miners", MinerInformationPanel); BTCConversionRateLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N BTCConversionRateLabel.setText("BTC Conversion Rate:"); NetworkDifficultyLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N NetworkDifficultyLabel.setText("Network Difficulty:"); EstimatedPayoutLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N EstimatedPayoutLabel.setText("Estimated Payout:"); NetworkDifficultyTextField.setEditable(false); BTCConversionRateTextField.setEditable(false); BTCConversionRateTextField.setText("Not configured yet"); EstimatedPayoutTextField.setEditable(false); CurrentBlockHashLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N CurrentBlockHashLabel.setText("Current Block Hash:"); CurrentBlockHashTextField.setEditable(false); CurrentBlockTimeLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N CurrentBlockTimeLabel.setText("Current Block Time:"); CurrentBlockTimeTextField.setEditable(false); GenericInformationCurrentMinerLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N GenericInformationCurrentMinerLabel.setText("Current Miner:"); MinerSelectionBox5.setModel(new javax.swing.DefaultComboBoxModel(miners.toArray())); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, CustomCommandMinerSelectionBox, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), MinerSelectionBox5, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); BitcoinInformationRefreshButton.setText("Refresh"); BitcoinInformationRefreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { BitcoinInformationRefreshButtonActionPerformed(evt); } }); GenericInformationCoinbaseUserLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N GenericInformationCoinbaseUserLabel.setText("Current Coinbase User:"); existing_coinbase = currentCoinbase(); ; ArrayList<String> coinbase_users = new ArrayList<>(); if (existing_coinbase == null) { coinbase_users.add("No Users"); } else { for (int i = 0; i < existing_coinbase.size(); i++) { coinbase_users.add(existing_coinbase.get(i).get("email")); } } GenericInformationCoinbaseUserSelectionBox .setModel(new javax.swing.DefaultComboBoxModel(coinbase_users.toArray())); GenericInformationCoinbaseUserSelectionBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { GenericInformationCoinbaseUserSelectionBoxActionPerformed(evt); } }); GenericInformationAbbreviatedPreferredCurrencyLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N GenericInformationAbbreviatedPreferredCurrencyLabel .addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { GenericInformationAbbreviatedPreferredCurrencyLabelPropertyChange(evt); } }); GenericInformationAbbreviatedPreferredCurrencyLabel2.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, GenericInformationAbbreviatedPreferredCurrencyLabel, org.jdesktop.beansbinding.ELProperty.create("${text}"), GenericInformationAbbreviatedPreferredCurrencyLabel2, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); javax.swing.GroupLayout BTCGenericInformationPanelLayout = new javax.swing.GroupLayout( BTCGenericInformationPanel); BTCGenericInformationPanel.setLayout(BTCGenericInformationPanelLayout); BTCGenericInformationPanelLayout.setHorizontalGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(BTCGenericInformationPanelLayout.createSequentialGroup().addContainerGap() .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(EstimatedPayoutLabel).addComponent(BTCConversionRateLabel) .addComponent(NetworkDifficultyLabel).addComponent(CurrentBlockHashLabel) .addComponent(GenericInformationCurrentMinerLabel) .addComponent(CurrentBlockTimeLabel) .addComponent(GenericInformationCoinbaseUserLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(CurrentBlockHashTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 559, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(BTCGenericInformationPanelLayout.createSequentialGroup() .addComponent(MinerSelectionBox5, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(BitcoinInformationRefreshButton)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, BTCGenericInformationPanelLayout.createSequentialGroup() .addGroup(BTCGenericInformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(EstimatedPayoutTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(BTCConversionRateTextField)) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent( GenericInformationAbbreviatedPreferredCurrencyLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( GenericInformationAbbreviatedPreferredCurrencyLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)) .addGap(184, 184, 184)) .addComponent(NetworkDifficultyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(CurrentBlockTimeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(GenericInformationCoinbaseUserSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, 255, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap())); BTCGenericInformationPanelLayout.setVerticalGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(BTCGenericInformationPanelLayout.createSequentialGroup().addGap(3, 3, 3) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(GenericInformationCurrentMinerLabel) .addComponent(MinerSelectionBox5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(BitcoinInformationRefreshButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(GenericInformationCoinbaseUserLabel) .addComponent(GenericInformationCoinbaseUserSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(7, 7, 7) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(NetworkDifficultyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(NetworkDifficultyLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CurrentBlockHashTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(CurrentBlockHashLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CurrentBlockTimeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(CurrentBlockTimeLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(BTCConversionRateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(BTCConversionRateLabel) .addComponent(GenericInformationAbbreviatedPreferredCurrencyLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(GenericInformationAbbreviatedPreferredCurrencyLabel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(BTCGenericInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(EstimatedPayoutLabel).addComponent(EstimatedPayoutTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(372, 372, 372))); BitcoinInformationTabbedPane.addTab("Generic Information", BTCGenericInformationPanel); CoinbaseAPILabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N CoinbaseAPILabel.setText("Buy, Sell, Trade BTC Here"); CoinbaseAPICurrentUserLabel.setText("Current Coinbase User"); CoinbaseAPIUserSelectionBox.setModel(new javax.swing.DefaultComboBoxModel(existingCoinbase().toArray())); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, GenericInformationCoinbaseUserSelectionBox, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), CoinbaseAPIUserSelectionBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); javax.swing.GroupLayout CoinbaseAPIPanelLayout = new javax.swing.GroupLayout(CoinbaseAPIPanel); CoinbaseAPIPanel.setLayout(CoinbaseAPIPanelLayout); CoinbaseAPIPanelLayout.setHorizontalGroup( CoinbaseAPIPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CoinbaseAPIPanelLayout.createSequentialGroup().addContainerGap() .addGroup(CoinbaseAPIPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(CoinbaseAPILabel, javax.swing.GroupLayout.PREFERRED_SIZE, 351, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(CoinbaseAPIPanelLayout.createSequentialGroup() .addComponent(CoinbaseAPICurrentUserLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CoinbaseAPIUserSelectionBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addContainerGap(469, Short.MAX_VALUE))); CoinbaseAPIPanelLayout.setVerticalGroup(CoinbaseAPIPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CoinbaseAPIPanelLayout.createSequentialGroup().addGap(18, 18, 18) .addComponent(CoinbaseAPILabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(CoinbaseAPIPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CoinbaseAPICurrentUserLabel).addComponent(CoinbaseAPIUserSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(526, Short.MAX_VALUE))); BitcoinInformationTabbedPane.addTab("Coinbase API", CoinbaseAPIPanel); EligiusStatusLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, EligiusUsernameSelectionBox, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), EligiusStatusLabel, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); /* org.planetcrypto.bitcoin.PlanetCryptoNetworkMethods parser = new org.planetcrypto.bitcoin.PlanetCryptoNetworkMethods(); ArrayList<String> eligius_names = cfg.getEligius(); //System.out.println(eligius_names); EligiusUsernameSelectionBox.setModel(new javax.swing.DefaultComboBoxModel(eligius_names.toArray())); String eligius_name = EligiusUsernameSelectionBox.getSelectedItem().toString(); if (eligius_name.startsWith("Eligius not configured")) { EligiusHashRateInformationTable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {"12 Hours", null, null}, {"3 Hours", null, null}, {"22.5 Minutes", null, null}, {"256 Seconds", null, null}, {"128 Seconds", null, null} }, new String [] { "Interval", "Hashrate", "Weighted Shares" } ) { Class[] types = new Class [] { java.lang.String.class, java.lang.String.class, java.lang.Integer.class }; boolean[] canEdit = new boolean [] { false, false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); } else { String hashrates = parser.getHashRate("&username=" + eligius_name); EligiusHashRateInformationTable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {"12 Hours", parser.getHashRateIntervals(hashrates, "av43200").get(0), parser.getHashRateIntervals(hashrates, "av43200").get(1)}, {"3 Hours", parser.getHashRateIntervals(hashrates, "av10800").get(0), parser.getHashRateIntervals(hashrates, "av10800").get(1)}, {"22.5 Minutes", parser.getHashRateIntervals(hashrates, "av1350").get(0), parser.getHashRateIntervals(hashrates, "av1350").get(1)}, {"256 Seconds", parser.getHashRateIntervals(hashrates, "av256").get(0), parser.getHashRateIntervals(hashrates, "av256").get(1)}, {"128 Seconds", parser.getHashRateIntervals(hashrates, "av128").get(0), parser.getHashRateIntervals(hashrates, "av128").get(1)} }, new String [] { "Interval", "Hashrate", "Weighted Shares" } ) { Class[] types = new Class [] { java.lang.String.class, java.lang.String.class, java.lang.Integer.class }; boolean[] canEdit = new boolean [] { false, false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); } cfg.closeAll(); EligiusHashRateInformationScrollPane.setViewportView(EligiusHashRateInformationTable); */ EligiusPoolInformationRefreshButtonActionPerformed(null); /* Thread t = new Thread(new Runnable() { @Override public void run() { eligius_name = EligiusUsernameSelectionBox.getSelectedItem().toString(); if (eligius_name.startsWith("Eligius not configured")) { EligiusPayoutInformationTable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {"bal", null}, {"ec", null}, {"everpaid", null}, {"lbal", null}, {"lec", null} }, new String [] { "", "Amount" } ) { Class[] types = new Class [] { java.lang.String.class, java.lang.String.class, java.lang.Integer.class }; boolean[] canEdit = new boolean [] { false, false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; }} ); } else { String stats = parser.getUserStat("&username=" + eligius_name); EligiusPayoutInformationTable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {"bal", parser.getUserStats(stats, "bal")}, {"ec", parser.getUserStats(stats, "ec")}, {"everpaid", parser.getUserStats(stats, "everpaid")}, {"lbal", parser.getUserStats(stats, "lbal")}, {"lec", parser.getUserStats(stats, "lec")} }, new String [] { "", "Amount" } ) { Class[] types = new Class [] { java.lang.String.class, java.lang.String.class, java.lang.Integer.class }; boolean[] canEdit = new boolean [] { false, false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; }} ); BFGMinerAPICoinbase coinbase = new BFGMinerAPICoinbase(); String rate = coinbase.getContent("https://coinbase.com/api/v1/currencies/exchange_rates", "btc_to_usd"); String payout = EligiusPayoutInformationTable.getValueAt(0, 1).toString().replace(" BTC", ""); BTCConversionRateTextField.setText(rate); EstimatedPayoutTextField.setText(String.valueOf(Float.parseFloat(rate)* Float.parseFloat(payout))); } //BFGMinerAPICoinbase coinbase = new BFGMinerAPICoinbase(); //BTCConversionRateTextField.setText(coinbase.getContent("https://coinbase.com/api/v1/currencies/exchange_rates", "btc_to_usd")); //if (EligiusPayoutInformationTable.getValueAt(0, 1) != null) { // System.out.println(EligiusPayoutInformationTable.getValueAt(0, 1).toString()); //} else { // System.out.println("No Value yet"); //} EligiusPayoutInformationTable.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { EligiusPayoutInformationTablePropertyChange(evt); } }); EligiusPayoutInformationPayoutScrollPane.setViewportView(EligiusPayoutInformationTable); } }); t.start(); */ //EligiusPayoutInformationTableAncestorRemoved(null); EligiusPoolInformationRefreshButton.setText("Refresh"); EligiusPoolInformationRefreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EligiusPoolInformationRefreshButtonActionPerformed(evt); } }); EligiousPayoutKeyInformationTextPane.setFont(new Font("Dialog", Font.PLAIN, 14)); EligiousPayoutKeyInformationTextPane.setContentType("text/html"); EligiousPayoutKeyInformationTextPane.setText( "<html><ul><li><em><b>bal</b></em> - Current unpaid balance including estimates for the current round</li>" + "<li><em><b>ec</b></em> - Sum of CPPSRB shelved shares and SMPPS extra credit (if applicable) including estimates for the current round</li>" + "<li><em><b>everpaid</b></em> - Total actually paid (and verifyable in the blockchain) to this miner</li>" + "<li><em><b>lbal</b></em> - Unpaid balance as of the last block (no estimates)</li>" + "<li><em><b>lec</b></em> - Sum of CPPSRB shelved shares and SMPPS extra credit (if applicable) as of the last block (no estimates)</li></ul></html>"); EligiousPayoutKeyInformationTextPane.setEditable(false); EligiusPayoutKeyInformationScrollPane.setViewportView(EligiousPayoutKeyInformationTextPane); existing_eligius = currentEligius(); EligiusUsernameSelectionBox.setModel(new javax.swing.DefaultComboBoxModel(existing_eligius.toArray())); EligiusUsernameSelectionBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EligiusUsernameSelectionBoxActionPerformed(evt); } }); EligiusUsernameClipboardCopyButton.setText("Copy To Clipboard"); EligiusUsernameClipboardCopyButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EligiusUsernameClipboardCopyButtonActionPerformed(evt); } }); EligiusPoolCurrentUsernameLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 12)); // NOI18N EligiusPoolCurrentUsernameLabel.setText("Eligius Username:"); EligiusOpenBrowserButton.setText("Open Eligius in Browser"); EligiusOpenBrowserButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EligiusOpenBrowserButtonActionPerformed(evt); } }); javax.swing.GroupLayout EligiusPoolInformationPanelLayout = new javax.swing.GroupLayout( EligiusPoolInformationPanel); EligiusPoolInformationPanel.setLayout(EligiusPoolInformationPanelLayout); EligiusPoolInformationPanelLayout.setHorizontalGroup(EligiusPoolInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(EligiusPoolInformationPanelLayout.createSequentialGroup().addContainerGap() .addGroup(EligiusPoolInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(EligiusPayoutKeyInformationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 695, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(EligiusPoolInformationPanelLayout.createSequentialGroup() .addComponent(EligiusPayoutInformationPayoutScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(EligiusPoolInformationRefreshButton)) .addComponent(EligiusHashRateInformationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(EligiusPoolInformationPanelLayout.createSequentialGroup() .addGroup(EligiusPoolInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(EligiusPoolInformationPanelLayout.createSequentialGroup() .addComponent(EligiusStatusLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 408, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(EligiusUsernameClipboardCopyButton)) .addGroup(EligiusPoolInformationPanelLayout.createSequentialGroup() .addComponent(EligiusPoolCurrentUsernameLabel) .addGap(3, 3, 3).addComponent(EligiusUsernameSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, 459, javax.swing.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(EligiusOpenBrowserButton))) .addGap(14, 14, 14))); EligiusPoolInformationPanelLayout.setVerticalGroup(EligiusPoolInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(EligiusPoolInformationPanelLayout.createSequentialGroup().addGap(13, 13, 13) .addGroup(EligiusPoolInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(EligiusUsernameSelectionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(EligiusPoolCurrentUsernameLabel)) .addGap(16, 16, 16) .addGroup(EligiusPoolInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(EligiusStatusLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(EligiusUsernameClipboardCopyButton) .addComponent(EligiusOpenBrowserButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(EligiusHashRateInformationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addGroup(EligiusPoolInformationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(EligiusPayoutInformationPayoutScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(EligiusPoolInformationRefreshButton)) .addGap(18, 18, 18).addComponent(EligiusPayoutKeyInformationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 159, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap())); BitcoinInformationTabbedPane.addTab("Pool Information", EligiusPoolInformationPanel); javax.swing.GroupLayout BTCInformationPaneLayout = new javax.swing.GroupLayout(BTCInformationPane); BTCInformationPane.setLayout(BTCInformationPaneLayout); BTCInformationPaneLayout.setHorizontalGroup( BTCInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(BitcoinInformationTabbedPane)); BTCInformationPaneLayout.setVerticalGroup( BTCInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(BitcoinInformationTabbedPane)); MainTabbedPane.addTab("Bitcoin Information", BTCInformationPane); MinerConfigurationPanel.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { MinerConfigurationPanelFocusGained(evt); } }); ConfigurationPromptLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N ConfigurationPromptLabel .setText("Please fill in the following form to configure this interface. Changes are persistent."); ConfigurationRemoveMinerButton.setText("Remove Miner"); ConfigurationRemoveMinerButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationRemoveMinerButtonActionPerformed(evt); } }); ConfigurationAddMinerButton.setText("Add Miner"); ConfigurationAddMinerButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationAddMinerButtonActionPerformed(evt); } }); ConfigurationAddMinerNameLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationAddMinerNameLabel.setText("Miner Name:"); ConfigurationAddMinerIPLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationAddMinerIPLabel.setText("Miner IP:"); ConfigurationMinerPortLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationMinerPortLabel.setText("Miner Port:"); ConfigurationAddMinersLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N ConfigurationAddMinersLabel.setText("Add Miners"); ConfigurationRemoveMinersLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N ConfigurationRemoveMinersLabel.setText("Remove Miners"); ConfigurationRemoveMinerNameLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationRemoveMinerNameLabel.setText("Miner Name:"); ConfigurationCurrentMinersLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N ConfigurationCurrentMinersLabel.setText("Current Miners:"); ConfigurationRemoveMinerIPLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationRemoveMinerIPLabel.setText("or Miner IP:"); ConfigurationResolveHostAddressLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationResolveHostAddressLabel.setText("Resolve host address:"); ConfigurationResolveHostAddressButton.setText("Get IP"); ConfigurationResolveHostAddressButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationResolveHostAddressButtonActionPerformed(evt); } }); ConfigurationCurrentMinersTextPane.setEditable(false); ConfigurationCurrentMinersTextPane.setFont(new Font("Monospaced", 0, 12)); // NOI18N ConfigurationCurrentMinersTextPane.setContentType("text/html"); org.planetcrypto.bitcoin.PlanetCryptoBitcoinUserConfiguration current_miners_configuration = new org.planetcrypto.bitcoin.PlanetCryptoBitcoinUserConfiguration(); ConfigurationCurrentMinersTextPane.setText(current_miners_configuration.currentMiners()); current_miners_configuration.closeAll(); ConfigurationCurrentMinersTextPane.setEditable(false); ConfigurationCurrentMinersScrollPane.setViewportView(ConfigurationCurrentMinersTextPane); javax.swing.GroupLayout MinerConfigurationPanelLayout = new javax.swing.GroupLayout( MinerConfigurationPanel); MinerConfigurationPanel.setLayout(MinerConfigurationPanelLayout); MinerConfigurationPanelLayout.setHorizontalGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerConfigurationPanelLayout.createSequentialGroup().addContainerGap() .addGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerConfigurationPanelLayout.createSequentialGroup() .addComponent(ConfigurationRemoveMinerNameLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationRemoveMinerNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(ConfigurationRemoveMinerIPLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(ConfigurationRemoveMinerIPTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(ConfigurationRemoveMinerButton)) .addComponent(ConfigurationPromptLabel).addComponent(ConfigurationAddMinersLabel) .addComponent(ConfigurationRemoveMinersLabel) .addComponent(ConfigurationCurrentMinersLabel) .addGroup(MinerConfigurationPanelLayout.createSequentialGroup() .addGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, MinerConfigurationPanelLayout.createSequentialGroup() .addComponent(ConfigurationResolveHostAddressLabel) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( ConfigurationResolveHostAddressTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent( ConfigurationResolveHostAddressButton)) .addGroup(MinerConfigurationPanelLayout.createSequentialGroup() .addComponent(ConfigurationAddMinerNameLabel) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationAddMinerNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(21, 21, 21) .addComponent(ConfigurationAddMinerIPLabel) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationAddMinerIPTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationMinerPortLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationMinerPortTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(43, 43, 43).addComponent(ConfigurationAddMinerButton)) .addComponent(ConfigurationCurrentMinersScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); MinerConfigurationPanelLayout.setVerticalGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerConfigurationPanelLayout.createSequentialGroup().addGap(16, 16, 16) .addComponent(ConfigurationPromptLabel) .addGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MinerConfigurationPanelLayout.createSequentialGroup().addGap(16, 16, 16) .addComponent(ConfigurationAddMinersLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationAddMinerNameLabel) .addComponent(ConfigurationAddMinerNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationAddMinerIPLabel) .addComponent(ConfigurationAddMinerIPTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationMinerPortLabel) .addComponent(ConfigurationMinerPortTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(MinerConfigurationPanelLayout.createSequentialGroup().addGap(37, 37, 37) .addComponent(ConfigurationAddMinerButton))) .addGap(35, 35, 35) .addGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationResolveHostAddressLabel) .addComponent(ConfigurationResolveHostAddressTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationResolveHostAddressButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(ConfigurationRemoveMinersLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(MinerConfigurationPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationRemoveMinerNameLabel) .addComponent(ConfigurationRemoveMinerNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationRemoveMinerIPLabel) .addComponent(ConfigurationRemoveMinerIPTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationRemoveMinerButton)) .addGap(25, 25, 25).addComponent(ConfigurationCurrentMinersLabel).addGap(33, 33, 33) .addComponent(ConfigurationCurrentMinersScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); ConfigurationTabbedPane.addTab("Miners", MinerConfigurationPanel); ConfigurationAlarmSettingsPromptLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N ConfigurationAlarmSettingsPromptLabel.setText("Configure Alarm Settings Here."); ConfigurationMinerTemperatureAlarmLabel.setText("Temperature:"); ConfigurationMinerFanSpeedAlarmLabel.setText("Fan Speed:"); ConfigurationMinerHashRateAlarmLabel.setText("Hash Rate:"); MinerSelectionForAlarmsBox.setModel(new javax.swing.DefaultComboBoxModel(miners.toArray())); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MinerSelectionBox5, org.jdesktop.beansbinding.ELProperty.create("${selectedItem}"), MinerSelectionForAlarmsBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); AlarmsCurrentMinerLabel.setText("Current Miner:"); ConfigurationAlarmsHWErrPercentLabel.setText("Hardware Errors:"); ConfigurationMinerTempAlarmTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); ConfigurationFanSpeedAlarmTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); ConfigurationMinerHashRateAlarmTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); ConfigurationMinerHardwareErrPercentAlarmTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); ConfigurationDegreesCelsiusLabel.setText("C"); ConfigurationFanRPMLabel.setText("RPM"); ConfigurationHashRatePostfixComboBox .setModel(new javax.swing.DefaultComboBoxModel(new String[] { "TH/s", "GH/s", "MH/s" })); ConfigurationHashRatePostfixComboBox.setSelectedIndex(1); ConfigurationHWErrorPercentLabel.setText("%"); ConfigurationMinerTempAlarmUpdateButton.setText("Update"); ConfigurationMinerTempAlarmUpdateButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationMinerTempAlarmUpdateButtonActionPerformed(evt); } }); ConfigurationMinerFanSpeedAlarmUpdateButton.setText("Update"); ConfigurationMinerFanSpeedAlarmUpdateButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationMinerFanSpeedAlarmUpdateButtonActionPerformed(evt); } }); ConfigurationMinerHashRateAlarmUpdateButton.setText("Update"); ConfigurationMinerHashRateAlarmUpdateButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationMinerHashRateAlarmUpdateButtonActionPerformed(evt); } }); ConfigurationMinerHardwareErrPercentAlarmUpdateButton.setText("Update"); ConfigurationMinerHardwareErrPercentAlarmUpdateButton .addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationMinerHardwareErrPercentAlarmUpdateButtonActionPerformed(evt); } }); ConfigurationCurrentMinerAlarmsTextPane.setContentType(("text/html")); /*StringBuffer current_alarms = new StringBuffer(); String temp = new String(); Object temp_type = new Object(); HashMap<String, Object> temp_alarms = new HashMap<>(); current_alarms.append(CurrentAlarmsHeader); System.out.println(existing_miners.toString()); for (int i = 0; i < existing_miners.size(); i++) { temp = existing_miners.get(i).get("name"); if (temp.equals("No Miners")) { current_alarms.append(newrow); for (int j = 0; j < 5; j++) { current_alarms.append("None"); if (j == 4) { break; } current_alarms.append(newcolumn); } current_alarms.append(closerow); current_alarms.append(VitalStatsFooter); System.out.println(current_alarms.toString()); break; } temp_alarms = cfg.getAlarms(temp); if (temp_alarms == null) { current_alarms.append(newrow); current_alarms.append(temp); current_alarms.append(newcolumn); for (int j = 0; j < 4; j++) { current_alarms.append("None"); if (j == 3) { break; } current_alarms.append(newcolumn); } current_alarms.append(closerow); current_alarms.append(VitalStatsFooter); System.out.println(current_alarms.toString()); break; } current_alarms.append(newrow); current_alarms.append(temp); current_alarms.append(newcolumn); current_alarms.append(temp_alarms.get("fan")); current_alarms.append(newcolumn); current_alarms.append(temp_alarms.get("temp")); current_alarms.append(newcolumn); temp_type = temp_alarms.get("hash_rate_type"); temp_type = (temp_type == null) ? "GH/s" : temp_type.toString(); current_alarms.append(temp_alarms.get("hash_rate") + " " + temp_type); current_alarms.append(newcolumn); current_alarms.append(temp_alarms.get("hw_err")); current_alarms.append(closerow); current_alarms.append(VitalStatsFooter); } ConfigurationCurrentMinerAlarmsTextPane.setText(current_alarms.toString()); */ ConfigurationCurrentMinerAlarmsTextPanePropertyChange(null); ConfigurationCurrentMinerAlarmsTextPane.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { ConfigurationCurrentMinerAlarmsTextPanePropertyChange(evt); } }); ConfigurationCurrentMinerAlarmsScrollPane.setViewportView(ConfigurationCurrentMinerAlarmsTextPane); ConfigurationCurrentMinerAlarmsLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 12)); // NOI18N ConfigurationCurrentMinerAlarmsLabel.setText("Current alarms:"); javax.swing.GroupLayout ConfigurationAlarmPanelLayout = new javax.swing.GroupLayout( ConfigurationAlarmPanel); ConfigurationAlarmPanel.setLayout(ConfigurationAlarmPanelLayout); ConfigurationAlarmPanelLayout.setHorizontalGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationAlarmPanelLayout.createSequentialGroup().addContainerGap() .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(ConfigurationCurrentMinerAlarmsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 371, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(ConfigurationAlarmPanelLayout.createSequentialGroup() .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(ConfigurationAlarmSettingsPromptLabel, javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationAlarmPanelLayout.createSequentialGroup() .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(ConfigurationAlarmsHWErrPercentLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( ConfigurationMinerTemperatureAlarmLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(ConfigurationMinerFanSpeedAlarmLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(ConfigurationMinerHashRateAlarmLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(AlarmsCurrentMinerLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MinerSelectionForAlarmsBox, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(ConfigurationAlarmPanelLayout .createSequentialGroup() .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent( ConfigurationMinerHardwareErrPercentAlarmTextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE) .addComponent( ConfigurationMinerHashRateAlarmTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent( ConfigurationFanSpeedAlarmTextField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent( ConfigurationMinerTempAlarmTextField, javax.swing.GroupLayout.Alignment.LEADING)) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent( ConfigurationDegreesCelsiusLabel) .addComponent( ConfigurationFanRPMLabel) .addComponent( ConfigurationHashRatePostfixComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent( ConfigurationHWErrorPercentLabel)))))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(ConfigurationMinerHashRateAlarmUpdateButton) .addComponent(ConfigurationMinerHardwareErrPercentAlarmUpdateButton) .addComponent(ConfigurationMinerTempAlarmUpdateButton) .addComponent(ConfigurationMinerFanSpeedAlarmUpdateButton))) .addComponent(ConfigurationCurrentMinerAlarmsLabel)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); ConfigurationAlarmPanelLayout.setVerticalGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationAlarmPanelLayout.createSequentialGroup().addContainerGap() .addComponent(ConfigurationAlarmSettingsPromptLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(AlarmsCurrentMinerLabel).addComponent(MinerSelectionForAlarmsBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationMinerTemperatureAlarmLabel) .addComponent(ConfigurationMinerTempAlarmTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationDegreesCelsiusLabel) .addComponent(ConfigurationMinerTempAlarmUpdateButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationMinerFanSpeedAlarmLabel) .addComponent(ConfigurationFanSpeedAlarmTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationFanRPMLabel) .addComponent(ConfigurationMinerFanSpeedAlarmUpdateButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationMinerHashRateAlarmLabel) .addComponent(ConfigurationMinerHashRateAlarmTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationHashRatePostfixComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationMinerHashRateAlarmUpdateButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationAlarmPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationAlarmsHWErrPercentLabel) .addComponent(ConfigurationMinerHardwareErrPercentAlarmTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationHWErrorPercentLabel) .addComponent(ConfigurationMinerHardwareErrPercentAlarmUpdateButton)) .addGap(18, 18, 18).addComponent(ConfigurationCurrentMinerAlarmsLabel).addGap(18, 18, 18) .addComponent(ConfigurationCurrentMinerAlarmsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); ConfigurationTabbedPane.addTab("Alarms", ConfigurationAlarmPanel); ConfigurationEligiusLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N ConfigurationEligiusLabel.setText("Eligius"); ConfigurationMiningPoolPromptLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 18)); // NOI18N ConfigurationMiningPoolPromptLabel.setText("Use this tab to configure mining pools"); ConfigurationEligiusUsernameLabel.setText("Eligius Username*:"); ConfigurationEligiusHelpPromptLabel.setFont(new java.awt.Font("Monospaced", 0, 10)); // NOI18N ConfigurationEligiusHelpPromptLabel.setText("*For more information about these fields, please see help*"); ConfigurationEligiusUsernameAddButton.setText("Add"); ConfigurationEligiusUsernameAddButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationEligiusUsernameAddButtonActionPerformed(evt); } }); ConfigurationEligiusUsernameRemoveButton.setText("Remove"); ConfigurationEligiusUsernameRemoveButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ConfigurationEligiusUsernameRemoveButtonActionPerformed(evt); } }); ConfigurationEligiusExampleLabel.setFont(new java.awt.Font("DejaVu Serif", 0, 10)); // NOI18N ConfigurationEligiusExampleLabel.setText( "*User name is the same as Mining Address for example: \"1EXfBqvLTyFbL6Dr5CG1fjxNKEPSezg7yF\""); javax.swing.GroupLayout ConfigurationEligiusPoolsPanelLayout = new javax.swing.GroupLayout( ConfigurationEligiusPoolsPanel); ConfigurationEligiusPoolsPanel.setLayout(ConfigurationEligiusPoolsPanelLayout); ConfigurationEligiusPoolsPanelLayout.setHorizontalGroup(ConfigurationEligiusPoolsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationEligiusPoolsPanelLayout.createSequentialGroup().addContainerGap() .addGroup(ConfigurationEligiusPoolsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationEligiusPoolsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(ConfigurationEligiusPoolsPanelLayout.createSequentialGroup() .addComponent(ConfigurationMiningPoolPromptLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationEligiusHelpPromptLabel)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, ConfigurationEligiusPoolsPanelLayout.createSequentialGroup() .addComponent(ConfigurationEligiusUsernameLabel) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationEligiusUsernameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 256, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(ConfigurationEligiusUsernameAddButton) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(ConfigurationEligiusUsernameRemoveButton))) .addComponent(ConfigurationEligiusLabel) .addGroup(ConfigurationEligiusPoolsPanelLayout.createSequentialGroup() .addGap(12, 12, 12).addComponent(ConfigurationEligiusExampleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 527, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); ConfigurationEligiusPoolsPanelLayout.setVerticalGroup( ConfigurationEligiusPoolsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationEligiusPoolsPanelLayout.createSequentialGroup().addContainerGap() .addGroup(ConfigurationEligiusPoolsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationEligiusHelpPromptLabel) .addComponent(ConfigurationMiningPoolPromptLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationEligiusLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationEligiusPoolsPanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ConfigurationEligiusUsernameLabel) .addComponent(ConfigurationEligiusUsernameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(ConfigurationEligiusUsernameAddButton) .addComponent(ConfigurationEligiusUsernameRemoveButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ConfigurationEligiusExampleLabel) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); ConfigurationTabbedPane.addTab("Pools", ConfigurationEligiusPoolsPanel); ConfigurationCoinExchangePanel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationCoinbaseLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N ConfigurationCoinbaseLabel.setText("Configure Coinbase Here"); ConfigurationCoinbaseCurrencyLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N ConfigurationCoinbaseCurrencyLabel.setText("Preferred Exchange Currency:"); ConfigurationCoinbaseCurrencyComboBox.setModel( new javax.swing.DefaultComboBoxModel(PlanetCryptoBitcoinCoinbaseCurrency.coinbaseCurrencies())); /* new javax.swing.DefaultComboBoxModel( new String[]{ "Select", "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTC", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EEK", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LVL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "STD", "SVC", "SYP", "SZL", "THB", "TJS", "TMM", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UY", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMK", "ZWL" } */ CoinbaseInformationLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N CoinbaseInformationLabel.setText("Coinbase User API Information"); CoinbaseUsernameLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N CoinbaseUsernameLabel.setText("Coinbase Username:"); CoinbaseAPIKeyLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N CoinbaseAPIKeyLabel.setText("Coinbase API Key:"); CoinbaseAPISecretKeyLabel.setFont(new java.awt.Font("DejaVu Serif", 1, 12)); // NOI18N CoinbaseAPISecretKeyLabel.setText("Coinbase API Secret:"); AddCoinbaseUsernameButton.setText("Add/Update"); AddCoinbaseUsernameButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AddCoinbaseUsernameButtonActionPerformed(evt); } }); RemoveCoinbaseUsernameButton.setText("Remove"); RemoveCoinbaseUsernameButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { RemoveCoinbaseUsernameButtonActionPerformed(evt); } }); CurrentCoinbaseConfigurationLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N CurrentCoinbaseConfigurationLabel.setText("Current Coinbase Configuration:"); CurrentCoinbaseConfigurationTextPane.setEditable(false); CurrentCoinbaseConfigurationTextPane.setContentType("text/html"); // NOI18N /* existing_coinbase = currentCoinbase(); if (existing_coinbase == null) { CurrentCoinbaseConfigurationTextPane.setText("<html><body><p><b>No Configuration</b></p></body></html>"); } else { CurrentCoinbaseConfigurationTextPane.setText(existing_coinbase.toString()); } */ CurrentCoinbaseConfigurationTextPane.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { CurrentCoinbaseConfigurationTextPanePropertyChange(evt); } }); CurrentCoinbaseConfigurationScrollPane.setViewportView(CurrentCoinbaseConfigurationTextPane); CoinbaseConfigurationVerticalSeparator.setOrientation(javax.swing.SwingConstants.VERTICAL); CoinbaseConfigurationInstructionsTextPane.setEditable(false); CoinbaseConfigurationInstructionsTextPane.setContentType("text/html"); // NOI18N CoinbaseConfigurationInstructionsTextPane.setFont(new java.awt.Font("DejaVu Serif", 0, 12)); // NOI18N CoinbaseConfigurationInstructionsTextPane.setText( "<html>\n <head>\n <style>\n body {background:#D6D9DF }\n </style>\n </head>\n <body>\n <ul>\n <li>At a minimum <b>Coinbase Username</b> and <b>Preferred Exchange Currency</b> are required.</li>\n <li>To add the minimum required parameters: \n <ol>\n <li>Enter the <b>Coinbase Username</b> to add</li>\n <li>Select your <b>Preferred Exchange Currency</b></li>\n <li>Click <b>Add/Update</b></li>\n </ol>\n </li>\n <li>To add an API Key:\n <ol>\n <li>Enter the <b>Coinbase Username</b> to associate with key</li>\n <li>Enter <b>Coinbase API Key</b> value</li>\n <li>Enter <b>Coinbase API Secret</b> Value</li>\n <li>Select your <b>Preferred Exchange Currency</b></li>\n <li>Click <b>Add/Update</b></li>\n </ol>\n </li>\n <li>To update/remove configuration associated with a <b>Coinbase Username</b></li>\n <ol>\n <li>Enter the <b>Coinbase Username</b> to update</li>\n <li><b>If removing this configuration, simply click \"Remove\"</b></li>\n <ul><li><b>Warning: This will remove ALL information from this app associated with this Coinbase Username</b></li></ul>\n <li><b>If updating this configuration:</b></li>\n <ul><li>Enter/Select the field to update, and click <b>Add/Update</b></li></ul>\n </ol>\n </ul>\n </body>\n</html>\n"); CoinbaseConfigurationInstructionsTextPane.setCaretPosition(0); CoinbaseConfigurationInstructionsScrollPane.setViewportView(CoinbaseConfigurationInstructionsTextPane); CoinbaseConfigurationInstructionsLabel.setFont(new java.awt.Font("DejaVu Serif", 3, 14)); // NOI18N CoinbaseConfigurationInstructionsLabel.setText("Configuration Instructions:"); javax.swing.GroupLayout ConfigurationCoinExchangePanelLayout = new javax.swing.GroupLayout( ConfigurationCoinExchangePanel); ConfigurationCoinExchangePanel.setLayout(ConfigurationCoinExchangePanelLayout); ConfigurationCoinExchangePanelLayout.setHorizontalGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationCoinExchangePanelLayout.createSequentialGroup().addContainerGap() .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(CurrentCoinbaseConfigurationScrollPane) .addComponent(ConfigurationCoinbaseLabel) .addGroup(ConfigurationCoinExchangePanelLayout.createSequentialGroup() .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationCoinExchangePanelLayout .createSequentialGroup() .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, ConfigurationCoinExchangePanelLayout .createSequentialGroup() .addComponent( ConfigurationCoinbaseCurrencyLabel) .addGap(18, 18, 18).addComponent( ConfigurationCoinbaseCurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 263, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent( CoinbaseConfigurationSeparator1, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(CoinbaseInformationLabel, javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.LEADING, ConfigurationCoinExchangePanelLayout .createSequentialGroup() .addGroup( ConfigurationCoinExchangePanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent( CoinbaseUsernameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( CoinbaseAPISecretKeyLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( CoinbaseAPIKeyLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(18, 18, 18) .addGroup( ConfigurationCoinExchangePanelLayout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent( CoinbaseAPIUsernameTextField) .addComponent( CoinbaseAPIKeyTextField) .addComponent( CoinbaseAPISecretKeyTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 330, Short.MAX_VALUE))) .addComponent( CoinbaseConfigurationSeparator, javax.swing.GroupLayout.Alignment.LEADING))) .addGap(0, 0, 0) .addComponent(CoinbaseConfigurationVerticalSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 12, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(CurrentCoinbaseConfigurationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(32, 32, 32).addComponent(AddCoinbaseUsernameButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(RemoveCoinbaseUsernameButton)) .addComponent(CoinbaseConfigurationInstructionsLabel) .addComponent(CoinbaseConfigurationInstructionsScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 791, Short.MAX_VALUE)) .addContainerGap(17, Short.MAX_VALUE))); ConfigurationCoinExchangePanelLayout.setVerticalGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationCoinExchangePanelLayout.createSequentialGroup().addContainerGap() .addComponent(ConfigurationCoinbaseLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(ConfigurationCoinExchangePanelLayout.createSequentialGroup() .addComponent(CoinbaseConfigurationSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CoinbaseInformationLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CoinbaseUsernameLabel) .addComponent(CoinbaseAPIUsernameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CoinbaseAPIKeyLabel) .addComponent(CoinbaseAPIKeyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(AddCoinbaseUsernameButton) .addComponent(RemoveCoinbaseUsernameButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(CoinbaseAPISecretKeyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(CoinbaseAPISecretKeyLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(ConfigurationCoinExchangePanelLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(ConfigurationCoinbaseCurrencyLabel) .addComponent(ConfigurationCoinbaseCurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CoinbaseConfigurationSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(ConfigurationCoinExchangePanelLayout.createSequentialGroup() .addComponent(CoinbaseConfigurationVerticalSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CurrentCoinbaseConfigurationLabel))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CurrentCoinbaseConfigurationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(CoinbaseConfigurationInstructionsLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(CoinbaseConfigurationInstructionsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(21, 21, 21))); ConfigurationTabbedPane.addTab("Coin Exchange", ConfigurationCoinExchangePanel); javax.swing.GroupLayout ConfigurationPanelLayout = new javax.swing.GroupLayout(ConfigurationPanel); ConfigurationPanel.setLayout(ConfigurationPanelLayout); ConfigurationPanelLayout.setHorizontalGroup( ConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( javax.swing.GroupLayout.Alignment.TRAILING, ConfigurationPanelLayout.createSequentialGroup() .addContainerGap().addComponent(ConfigurationTabbedPane).addContainerGap())); ConfigurationPanelLayout.setVerticalGroup( ConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(ConfigurationTabbedPane)); MainTabbedPane.addTab("Configuration", ConfigurationPanel); FileMenu.setText("File"); FileExitMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.ALT_MASK)); FileExitMenuItem.setText("Quit"); FileExitMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { FileExitMenuItemActionPerformed(evt); } }); FileMenu.add(FileExitMenuItem); BFGMInerUIMenuBar.add(FileMenu); EditMenu.setText("Edit"); EditMenu.setMnemonic(KeyEvent.VK_E); CopyMenuItem.setText("Copy"); CopyMenuItem.setMnemonic(KeyEvent.VK_C); EditMenu.add(CopyMenuItem); PasteMenuItem.setText("Paste"); PasteMenuItem.setMnemonic(KeyEvent.VK_P); EditMenu.add(PasteMenuItem); BFGMInerUIMenuBar.add(EditMenu); HelpMenu.setText("Help"); AppHelpMenuItem.setText("App Help"); AppHelpMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AppHelpMenuItemActionPerformed(evt); } }); HelpMenu.add(AppHelpMenuItem); AboutMenuItem.setText("About BFGMinerAPI"); AboutMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AboutMenuItemActionPerformed(evt); } }); HelpMenu.add(AboutMenuItem); BFGMInerUIMenuBar.add(HelpMenu); setJMenuBar(BFGMInerUIMenuBar); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(MainTabbedPane, javax.swing.GroupLayout.Alignment.TRAILING)); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(MainTabbedPane)); MainTabbedPane.getAccessibleContext().setAccessibleName(""); bindingGroup.bind(); pack(); }