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