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

📄 optionsbrokerjpanel.java

📁 JStock是一个免费股市软件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            public void run() {
                updateCurrentSelectedBrokingFirm();
                
                JList me = (JList)e.getSource();
                final int index = me.getSelectedIndex();

                if(index < 0) {
                    OptionsBrokerJPanel.this.jFormattedTextField1.setValue(0.0);
                    OptionsBrokerJPanel.this.jFormattedTextField2.setValue(0.0);
                    OptionsBrokerJPanel.this.jFormattedTextField3.setValue(0.0);

                    OptionsBrokerJPanel.this.jFormattedTextField4.setValue(0.0);
                    OptionsBrokerJPanel.this.jFormattedTextField5.setValue(0.0);
                    OptionsBrokerJPanel.this.jFormattedTextField6.setValue(0.0);

                    OptionsBrokerJPanel.this.jFormattedTextField7.setValue(0.0);
                    OptionsBrokerJPanel.this.jFormattedTextField8.setValue(1.0);
                    OptionsBrokerJPanel.this.jFormattedTextField9.setValue(0.0);        

                    OptionsBrokerJPanel.this.setLogo(null);

                    OptionsBrokerJPanel.this.currentSelectedBrokingFirm = null;                

                    return;
                }

                final BrokingFirm brokingFirm = OptionsBrokerJPanel.this.brokingFirms.get(index);

                OptionsBrokerJPanel.this.jFormattedTextField1.setValue(brokingFirm.getBrokerRate());
                OptionsBrokerJPanel.this.jFormattedTextField2.setValue(brokingFirm.getBrokerMaximumRate());
                OptionsBrokerJPanel.this.jFormattedTextField3.setValue(brokingFirm.getBrokerMinimumRate());

                OptionsBrokerJPanel.this.jFormattedTextField4.setValue(brokingFirm.getClearingFeeRate());
                OptionsBrokerJPanel.this.jFormattedTextField5.setValue(brokingFirm.getClearingFeeMaximumRate());
                OptionsBrokerJPanel.this.jFormattedTextField6.setValue(brokingFirm.getClearingFeeMinimumRate());

                OptionsBrokerJPanel.this.jFormattedTextField7.setValue(brokingFirm.getStampDutyRate());
                OptionsBrokerJPanel.this.jFormattedTextField8.setValue(brokingFirm.getStampDutyFraction());
                OptionsBrokerJPanel.this.jFormattedTextField9.setValue(brokingFirm.getStampDutyMaximumRate());        

                OptionsBrokerJPanel.this.setLogo(brokingFirm.getLogo());
                
                OptionsBrokerJPanel.this.currentSelectedBrokingFirm = brokingFirm;                
            }
        });
    }//GEN-LAST:event_jList1ValueChanged

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
        // TODO add your handling code here:
        if(this.currentSelectedBrokingFirm == null) return;
        
        OptionsJDialog optionsJDialog = (OptionsJDialog)javax.swing.SwingUtilities.getAncestorOfClass(OptionsJDialog.class, this);
        NewBrokingFirmJDialog newBrokingFirmJDialog = new NewBrokingFirmJDialog((Frame)optionsJDialog.getParent(), true);               
        newBrokingFirmJDialog.setBrokingFirm(this.currentSelectedBrokingFirm);
        newBrokingFirmJDialog.setVisible(true);  
        
        final BrokingFirm brokingFirm = newBrokingFirmJDialog.getBrokingFirm();
        
        if(brokingFirm != null) {
            final int index = this.jList1.getSelectedIndex();
            this.brokingFirms.remove(index);            
            this.brokingFirms.add(index, brokingFirm);
            final ListModel listModel = this.jList1.getModel();
            final DefaultListModel defaultListModel = (DefaultListModel)(listModel);
            defaultListModel.removeElementAt(index);
            defaultListModel.add(index, brokingFirm.getName());  
            this.jList1.setSelectedIndex(index);
        }
        
    }//GEN-LAST:event_jButton3ActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // TODO add your handling code here:
        final int index = this.jList1.getSelectedIndex();
        if(index < 0) return;
        
        this.brokingFirms.remove(index);    
        final ListModel listModel = this.jList1.getModel();
        final DefaultListModel defaultListModel = (DefaultListModel)(listModel);
        defaultListModel.removeElementAt(index);
        
        if(index > 0) {
            this.jList1.setSelectedIndex(index - 1);
        }
        else {
            if(defaultListModel.getSize() > 0)
                this.jList1.setSelectedIndex(0);
            else
                this.jList1.clearSelection();
        }
    }//GEN-LAST:event_jButton2ActionPerformed
    
    private void updateGUIState() {
        final boolean state = jCheckBox1.isSelected();
        jButton1.setEnabled(state);
        jButton2.setEnabled(state);
        jButton3.setEnabled(state);
        jFormattedTextField1.setEnabled(state);
        jFormattedTextField2.setEnabled(state);
        jFormattedTextField3.setEnabled(state);
        jFormattedTextField4.setEnabled(state);
        jFormattedTextField5.setEnabled(state);
        jFormattedTextField6.setEnabled(state);
        jFormattedTextField7.setEnabled(state);
        jFormattedTextField8.setEnabled(state);
        jFormattedTextField9.setEnabled(state);
        jLabel1.setEnabled(state);
        jLabel10.setEnabled(state);
        jLabel2.setEnabled(state);
        jLabel3.setEnabled(state);
        jLabel4.setEnabled(state);
        jLabel5.setEnabled(state);
        jLabel6.setEnabled(state);
        jLabel7.setEnabled(state);
        jLabel8.setEnabled(state);
        jLabel9.setEnabled(state);
        jList1.setEnabled(state);
        jPanel2.setEnabled(state);
        jPanel3.setEnabled(state);
        jPanel4.setEnabled(state);
        jPanel5.setEnabled(state);
        jPanel6.setEnabled(state);
        jScrollPane1.setEnabled(state);        
    }
    
    private void setLogo(Image logo) {
        if(logo == null) {
            jLabel1.setIcon(null);
            return;
        }
        
        // We use 2, to allow some image gap from the boundary.        
        final ImageIcon scaledImageIcon = new ImageIcon(Utils.getScaledImage(logo, jLabel1.getWidth() - 2, jLabel1.getHeight() - 2));
        
        jLabel1.setIcon(scaledImageIcon);
    }
    
    public void set(JStockOptions jStockOptions) {
        final int size = jStockOptions.getBrokingFirmSize();
        
        final DefaultListModel defaultListModel = (DefaultListModel)(this.jList1.getModel());
        for(int i = 0; i < size; i++) {
            brokingFirms.add(new BrokingFirm(jStockOptions.getBrokingFirm(i)));
            defaultListModel.addElement(brokingFirms.get(i).getName());
        }
        
        this.jCheckBox1.setSelected(jStockOptions.isAutoBrokerFeeCalculationEnabled());
        
        if(jStockOptions.getSelectedBrokingFirmIndex() >= 0) {
            this.jList1.setSelectedIndex(jStockOptions.getSelectedBrokingFirmIndex());
        }
    }

    public boolean apply(JStockOptions jStockOptions) {
        updateCurrentSelectedBrokingFirm();
        
        jStockOptions.clearBrokingFirms();
        
        for(BrokingFirm brokingFirm : brokingFirms) {
            jStockOptions.addBrokingFirm(brokingFirm);
        }
        
        jStockOptions.setAutoBrokerFeeCalculationEnabled(this.jCheckBox1.isSelected());
        
        jStockOptions.setSelectedBrokingFirmIndex(this.jList1.getSelectedIndex());
        
        return true;
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JCheckBox jCheckBox1;
    private javax.swing.JFormattedTextField jFormattedTextField1;
    private javax.swing.JFormattedTextField jFormattedTextField2;
    private javax.swing.JFormattedTextField jFormattedTextField3;
    private javax.swing.JFormattedTextField jFormattedTextField4;
    private javax.swing.JFormattedTextField jFormattedTextField5;
    private javax.swing.JFormattedTextField jFormattedTextField6;
    private javax.swing.JFormattedTextField jFormattedTextField7;
    private javax.swing.JFormattedTextField jFormattedTextField8;
    private javax.swing.JFormattedTextField jFormattedTextField9;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JList jList1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JScrollPane jScrollPane1;
    private org.jdesktop.swingx.JXHeader jXHeader1;
    // End of variables declaration//GEN-END:variables

    // For tmp storage, before user click on Apply.
    private List<BrokingFirm> brokingFirms = new ArrayList<BrokingFirm>();    
    private BrokingFirm currentSelectedBrokingFirm = null;
}

⌨️ 快捷键说明

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