|
From: Carlos <ma...@us...> - 2007-10-10 21:28:15
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11367/src/java/net/sf/tails/swing/frame/stockAnalysis Modified Files: NewStockAnalysis2.java NewStockAnalysis.java NewStockAnalysis3.java Log Message: Refatoração de tela para conseguir criar critérios como o versus buy and hold que necessita de outro critério em seu construtor. Index: NewStockAnalysis2.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis/NewStockAnalysis2.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NewStockAnalysis2.java 8 Oct 2007 19:55:29 -0000 1.4 --- NewStockAnalysis2.java 10 Oct 2007 21:28:09 -0000 1.5 *************** *** 10,13 **** --- 10,14 ---- import java.awt.Dimension; import java.awt.GridLayout; + import java.awt.event.ActionEvent; import java.util.ArrayList; import java.util.List; *************** *** 17,20 **** --- 18,24 ---- import javax.swing.JFrame; import javax.swing.JOptionPane; + import javax.swing.JPanel; + import javax.swing.border.EmptyBorder; + import javax.swing.border.TitledBorder; import net.sf.tail.AnalysisCriterion; *************** *** 32,43 **** private static final long serialVersionUID = 1L; private Stock stock; ! private String[] criteria; private javax.swing.JComboBox analysisComboBox; private javax.swing.JLabel analysisLabel; private javax.swing.JButton cancelButton; private javax.swing.JPanel criterionPanel; private javax.swing.JButton nextButton; private javax.swing.JCheckBox criterionCheckBox; private Index index; public NewStockAnalysis2(Index index, Stock stock) { --- 36,53 ---- private static final long serialVersionUID = 1L; private Stock stock; ! private String[] communCriteria; ! private String[] genericCriteria; ! private String[] allCriteria; private javax.swing.JComboBox analysisComboBox; + private javax.swing.JComboBox secondAnalysisComboBox; private javax.swing.JLabel analysisLabel; + private javax.swing.JLabel secondAnalysisLabel; private javax.swing.JButton cancelButton; private javax.swing.JPanel criterionPanel; + private javax.swing.JPanel communCriterionPanel; private javax.swing.JButton nextButton; private javax.swing.JCheckBox criterionCheckBox; private Index index; + private FrameHelper helper; public NewStockAnalysis2(Index index, Stock stock) { *************** *** 52,61 **** private void initComponents() { nextButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); criterionPanel = new javax.swing.JPanel(); analysisLabel = new javax.swing.JLabel(); analysisComboBox = new javax.swing.JComboBox(); ! criteria = FrameHelper.getCriteriaFiles(); nextButton.setText("Next"); --- 62,85 ---- private void initComponents() { + helper = new FrameHelper(); nextButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); criterionPanel = new javax.swing.JPanel(); + communCriterionPanel = new javax.swing.JPanel(); analysisLabel = new javax.swing.JLabel(); + secondAnalysisLabel = new javax.swing.JLabel(); analysisComboBox = new javax.swing.JComboBox(); ! secondAnalysisComboBox = new javax.swing.JComboBox(); ! communCriteria = helper.getCommunCriteria(); ! genericCriteria = helper.getGenericCriteria(); ! allCriteria = new String[communCriteria.length + genericCriteria.length]; ! ! int i = 0; ! for (String criteria : communCriteria) { ! allCriteria[i++] = criteria; ! } ! for (String criteria : genericCriteria) { ! allCriteria[i++] = criteria; ! } nextButton.setText("Next"); *************** *** 74,91 **** criterionPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Additional Criteria", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 14))); ! criterionPanel.setLayout(new GridLayout(0, 3, 15, 15)); criterionPanel.setMaximumSize(new Dimension(400, 0)); ! for (String criterionName : criteria) { criterionCheckBox = new javax.swing.JCheckBox(); criterionCheckBox.setText(criterionName); criterionCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); criterionCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); ! criterionPanel.add(criterionCheckBox); } analysisLabel.setText("Analisys Criterion: "); ! analysisComboBox.setModel(new javax.swing.DefaultComboBoxModel(criteria)); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); --- 98,147 ---- criterionPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Additional Criteria", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 14))); ! criterionPanel.setLayout(new GridLayout(0, 1, 15, 15)); criterionPanel.setMaximumSize(new Dimension(400, 0)); ! communCriterionPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder()); ! communCriterionPanel.setLayout(new GridLayout(0, 3, 15, 15)); ! communCriterionPanel.setMaximumSize(new Dimension(400, 0)); ! ! for (String criterionName : communCriteria) { criterionCheckBox = new javax.swing.JCheckBox(); criterionCheckBox.setText(criterionName); criterionCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); criterionCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); ! communCriterionPanel.add(criterionCheckBox); ! } ! ! criterionPanel.add(communCriterionPanel); ! ! for (String criteriaName : genericCriteria) { ! javax.swing.JPanel genericCriterionPanel = new javax.swing.JPanel(); ! genericCriterionPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), criteriaName, javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 12))); ! genericCriterionPanel.setLayout(new GridLayout(0, 3, 15, 15)); ! genericCriterionPanel.setMaximumSize(new Dimension(400, 0)); ! ! for (String criterionName : communCriteria) { ! criterionCheckBox = new javax.swing.JCheckBox(); ! criterionCheckBox.setText(criterionName); ! criterionCheckBox.setFont(new java.awt.Font("Dialog", 0, 12)); ! criterionCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); ! criterionCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); ! genericCriterionPanel.add(criterionCheckBox); ! } ! ! criterionPanel.add(genericCriterionPanel); } analysisLabel.setText("Analisys Criterion: "); + secondAnalysisLabel.setText(" of: "); ! analysisComboBox.setModel(new javax.swing.DefaultComboBoxModel(allCriteria)); ! analysisComboBox.addActionListener(new java.awt.event.ActionListener() { ! public void actionPerformed(java.awt.event.ActionEvent evt) { ! analysisComboBoxActionPerformed(evt); ! } ! }); ! secondAnalysisComboBox.setModel(new javax.swing.DefaultComboBoxModel(communCriteria)); ! analysisComboBoxActionPerformed(null); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); *************** *** 96,102 **** .addGap(37, 37, 37) .addComponent(analysisLabel) ! .addGap(30, 30, 30) .addComponent(analysisComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) ! .addContainerGap(364, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addGap(227, 227, 227) --- 152,161 ---- .addGap(37, 37, 37) .addComponent(analysisLabel) ! .addGap(20, 20, 20) .addComponent(analysisComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) ! .addGap(20, 20, 20) ! .addComponent(secondAnalysisLabel) ! .addGap(20, 20, 20) ! .addComponent(secondAnalysisComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(227, 227, 227) *************** *** 116,120 **** .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(analysisLabel) ! .addComponent(analysisComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(16, 16, 16) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) --- 175,181 ---- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(analysisLabel) ! .addComponent(analysisComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) ! .addComponent(secondAnalysisLabel) ! .addComponent(secondAnalysisComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(16, 16, 16) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) *************** *** 129,133 **** } ! private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) { this.dispose(); } --- 190,207 ---- } ! protected void analysisComboBoxActionPerformed(ActionEvent evt) { ! if(helper.isGenericCriteria(analysisComboBox.getSelectedItem().toString())) ! { ! secondAnalysisComboBox.setVisible(true); ! secondAnalysisLabel.setVisible(true); ! } ! else ! { ! secondAnalysisComboBox.setVisible(false); ! secondAnalysisLabel.setVisible(false); ! } ! } ! ! private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) { this.dispose(); } *************** *** 135,164 **** private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) { AnalysisCriterion selectedCriterion = null; try { ! selectedCriterion = FrameHelper.getSelectedCriterion(analysisComboBox.getSelectedItem().toString()); } catch (Exception e) { ! JOptionPane.showMessageDialog(null, analysisComboBox.getSelectedItem().toString() + " " + messageBundle.getString("SELECTED_CRITERION"), "Error", 0); } List<AnalysisCriterion> additionalCriteria = new ArrayList<AnalysisCriterion>(); ! for (Component component : criterionPanel.getComponents()) { ! if (component instanceof JCheckBox) { ! JCheckBox checkBox = (JCheckBox) component; ! ! if (checkBox.isSelected()) ! { ! AnalysisCriterion criterion = null; ! try { ! criterion = FrameHelper.getSelectedCriterion(checkBox.getText()); ! } catch (Exception e) { ! JOptionPane.showMessageDialog(null, checkBox.getText() + " " + messageBundle.getString("SELECTED_CRITERIA"), "Error", 2); ! } ! ! if (criterion != null) ! { ! additionalCriteria.add(criterion); ! } ! } ! } ! } if (selectedCriterion == null) { --- 209,280 ---- private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) { AnalysisCriterion selectedCriterion = null; + String selectedCriterionName = analysisComboBox.getSelectedItem().toString(); try { ! if (helper.isGenericCriteria(selectedCriterionName)) ! { ! selectedCriterion = helper.getSelectedGenericCriterion(selectedCriterionName, secondAnalysisComboBox.getSelectedItem().toString()); ! } ! else ! { ! selectedCriterion = helper.getSelectedCommunCriterion(selectedCriterionName); ! } } catch (Exception e) { ! JOptionPane.showMessageDialog(null, selectedCriterionName + " " + messageBundle.getString("SELECTED_CRITERION"), "Error", 0); } List<AnalysisCriterion> additionalCriteria = new ArrayList<AnalysisCriterion>(); ! for (Component panelComponent : criterionPanel.getComponents()) ! { ! if (panelComponent instanceof JPanel) { ! JPanel panel = (JPanel)panelComponent; ! if (panel.getBorder() instanceof EmptyBorder) ! { ! for (Component component : panel.getComponents()) ! { ! if (component instanceof JCheckBox) ! { ! JCheckBox checkBox = (JCheckBox) component; ! if (checkBox.isSelected()) ! { ! AnalysisCriterion criterion = null; ! try { ! criterion = helper.getSelectedCommunCriterion(checkBox.getText()); ! } catch (Exception e) { ! JOptionPane.showMessageDialog(null, checkBox.getText() + " " + messageBundle.getString("SELECTED_CRITERIA"), "Error", 2); ! } ! ! if (criterion != null) ! { ! additionalCriteria.add(criterion); ! } ! } ! } ! } ! } ! else ! { ! for (Component component : panel.getComponents()) ! { ! if (component instanceof JCheckBox) ! { ! JCheckBox checkBox = (JCheckBox) component; ! if (checkBox.isSelected()) ! { ! AnalysisCriterion criterion = null; ! try { ! criterion = helper.getSelectedGenericCriterion(((TitledBorder)panel.getBorder()).getTitle(), checkBox.getText()); ! } catch (Exception e) { ! JOptionPane.showMessageDialog(null, checkBox.getText() + " " + messageBundle.getString("SELECTED_CRITERIA"), "Error", 2); ! } ! ! if (criterion != null) ! { ! additionalCriteria.add(criterion); ! } ! } ! } ! } ! } ! } ! } if (selectedCriterion == null) { Index: NewStockAnalysis.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis/NewStockAnalysis.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NewStockAnalysis.java 8 Oct 2007 20:00:25 -0000 1.5 --- NewStockAnalysis.java 10 Oct 2007 21:28:10 -0000 1.6 *************** *** 55,58 **** --- 55,59 ---- private javax.swing.JPanel stockPanel; private Index index; + private FrameHelper helper; public NewStockAnalysis(Index index) { *************** *** 66,69 **** --- 67,71 ---- private void initComponents() { + helper = new FrameHelper(); stockFileChooser = new javax.swing.JFileChooser(); stockButtonGroup = new javax.swing.ButtonGroup(); *************** *** 139,143 **** seriesFormatLabel.setText("Series Format: "); ! seriesFormatComboBox.setModel(new javax.swing.DefaultComboBoxModel(FrameHelper.getLoaderFiles())); javax.swing.GroupLayout stockPanelLayout = new javax.swing.GroupLayout(stockPanel); --- 141,145 ---- seriesFormatLabel.setText("Series Format: "); ! seriesFormatComboBox.setModel(new javax.swing.DefaultComboBoxModel(helper.getLoaders())); javax.swing.GroupLayout stockPanelLayout = new javax.swing.GroupLayout(stockPanel); *************** *** 289,294 **** { try { ! FrameHelper.generateFolders(folderBundle.getString("STOCK_DIR")); ! stock = new Stock(stockNameField.getText(), seriesField.getText(), FrameHelper.getSelectedLoader(seriesFormatComboBox.getSelectedItem().toString())); String xmlFile = stockSerializer.toXML(stock); String filePath = folderBundle.getString("STOCK_DIR") + "/" + stockNameField.getText(); --- 291,296 ---- { try { ! helper.generateFolders(folderBundle.getString("STOCK_DIR")); ! stock = new Stock(stockNameField.getText(), seriesField.getText(), helper.getSelectedLoader(seriesFormatComboBox.getSelectedItem().toString())); String xmlFile = stockSerializer.toXML(stock); String filePath = folderBundle.getString("STOCK_DIR") + "/" + stockNameField.getText(); *************** *** 320,324 **** { try { ! stock = stockSerializer.fromXML(FrameHelper.readFile(stockField.getText())); new NewStockAnalysis2(index, stock).setVisible(true); --- 322,326 ---- { try { ! stock = stockSerializer.fromXML(helper.readFile(stockField.getText())); new NewStockAnalysis2(index, stock).setVisible(true); Index: NewStockAnalysis3.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis/NewStockAnalysis3.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NewStockAnalysis3.java 8 Oct 2007 19:55:29 -0000 1.5 --- NewStockAnalysis3.java 10 Oct 2007 21:28:10 -0000 1.6 *************** *** 61,65 **** private javax.swing.JTextField slicesNumberField; private javax.swing.JLabel slicesNumberLabel; ! private Index index; public NewStockAnalysis3(Index index, Stock stock, AnalysisCriterion selectedCriterion, List<AnalysisCriterion> additionalCriteria) { --- 61,66 ---- private javax.swing.JTextField slicesNumberField; private javax.swing.JLabel slicesNumberLabel; ! private Index index; ! private FrameHelper helper; public NewStockAnalysis3(Index index, Stock stock, AnalysisCriterion selectedCriterion, List<AnalysisCriterion> additionalCriteria) { *************** *** 76,79 **** --- 77,81 ---- private void initComponents() { + helper = new FrameHelper(); slicesPeriodPanel = new javax.swing.JPanel(); yearsLabel = new javax.swing.JLabel(); *************** *** 297,301 **** DateTime startDate; try { ! startDate = FrameHelper.getDate(startDateField.getText()); } catch (Exception e) { JOptionPane.showMessageDialog(null, messageBundle.getString("START_DATE"), "Error", 2); --- 299,303 ---- DateTime startDate; try { ! startDate = helper.getDate(startDateField.getText()); } catch (Exception e) { JOptionPane.showMessageDialog(null, messageBundle.getString("START_DATE"), "Error", 2); |