/*
* CI2PopPropDialog.java
*
* Created on June 3, 2008, 1:54 PM
*/
package org.statcato.dialogs.stat.ci;
import org.statcato.*;
import org.statcato.spreadsheet.*;
import org.statcato.statistics.inferential.*;
import org.statcato.utils.HelperFunctions;
import java.util.*;
import javax.swing.*;
/**
* A dialog for creating confidence intervals for two population proportions,
* given the confidence level.
* Allows the user to specify the data values in the Datasheet or provide
* summary data.
*
* @author Margaret Yau
* @version %I%, %G%
* @see org.statcato.statistics.inferential.CI2PopProp
* @since 1.0
*/
public class CI2PopPropDialog extends StatcatoDialog {
/** Creates new form CI2PopPropDialog */
public CI2PopPropDialog(java.awt.Frame parent, boolean modal,
Statcato mTab) {
super(parent, modal);
initComponents();
app = mTab;
ParentSpreadsheet = app.getSpreadsheet();
ButtonGroup group1 = new ButtonGroup();
group1.add(Sample1ColRadioButton);
group1.add(Sample2ColRadioButton);
group1.add(SummaryRadioButton);
ParentSpreadsheet.populateComboBox(LabelsComboBox);
ParentSpreadsheet.populateComboBox(ValuesComboBox);
ParentSpreadsheet.populateComboBox(Pop1ComboBox);
ParentSpreadsheet.populateComboBox(Pop2ComboBox);
getRootPane().setDefaultButton(OKButton);
setHelpFile("stat-ci-2prop");
name = "Confidence Interval: Two Population Proportion";
description = "For computing confidence intervals for the difference of " +
"two population proportions.";
helpStrings.add("The sample data of the population must be of only " +
"two categories. They can be inputted in one of three ways...");
helpStrings.add("Samples in one column: The population labels of samples " +
"are in one column of the datasheet, and the individual samples " +
"are in another column.");
helpStrings.add("Samples in two columns: The samples of the two " +
"population are in two separate columns.");
helpStrings.add("Summarized sample data: The number of events and the " +
"number of trials of each of the two populations are provided.");
helpStrings.add("The confidence level must be between 0 and 1.");
}
/**
* Updates elements on the dialog so that they have the most
* current values. Called by {@link #setVisible} to make
* sure the dialog displays current values when made visible again.
*
* @see #setVisible(boolean)
*/
@Override
public void updateElements() {
updateComboBox(LabelsComboBox);
updateComboBox(ValuesComboBox);
updateComboBox(Pop1ComboBox);
updateComboBox(Pop2ComboBox);
}
/** 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.
*/
// //GEN-BEGIN:initComponents
private void initComponents() {
OKButton = new javax.swing.JButton();
CancelButton = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jLabel8 = new javax.swing.JLabel();
Pop2ComboBox = new javax.swing.JComboBox();
jLabel6 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
Trials1TextField = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
Pop1ComboBox = new javax.swing.JComboBox();
jLabel2 = new javax.swing.JLabel();
Sample1ColRadioButton = new javax.swing.JRadioButton();
LabelsComboBox = new javax.swing.JComboBox();
Sample2ColRadioButton = new javax.swing.JRadioButton();
Trials2TextField = new javax.swing.JTextField();
ValuesComboBox = new javax.swing.JComboBox();
Events1TextField = new javax.swing.JTextField();
Events2TextField = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
SummaryRadioButton = new javax.swing.JRadioButton();
jPanel2 = new javax.swing.JPanel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
ConfidenceTextField = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Confidence Interval: Two Population Proportion");
OKButton.setText("OK");
OKButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
OKButtonActionPerformed(evt);
}
});
CancelButton.setText("Cancel");
CancelButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CancelButtonActionPerformed(evt);
}
});
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Inputs"));
jLabel8.setText("Trials");
Pop2ComboBox.setEnabled(false);
jLabel6.setText("Population 2:");
jLabel4.setText("Population 2:");
Trials1TextField.setEnabled(false);
jLabel7.setText("Events");
Pop1ComboBox.setEnabled(false);
jLabel2.setText("Values in column:");
Sample1ColRadioButton.setSelected(true);
Sample1ColRadioButton.setText("Samples in one column");
Sample1ColRadioButton.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
Sample1ColRadioButtonStateChanged(evt);
}
});
Sample2ColRadioButton.setText("Samples in two columns");
Sample2ColRadioButton.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
Sample2ColRadioButtonStateChanged(evt);
}
});
Trials2TextField.setEnabled(false);
Events1TextField.setEnabled(false);
Events2TextField.setEnabled(false);
jLabel3.setText("Population 1:");
jLabel1.setText("Labels in column:");
jLabel5.setText("Population 1:");
SummaryRadioButton.setText("Summarized sample data");
SummaryRadioButton.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
SummaryRadioButtonStateChanged(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(SummaryRadioButton)
.addComponent(Sample1ColRadioButton)
.addComponent(Sample2ColRadioButton)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(jLabel5))
.addGap(35, 35, 35)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(Events1TextField, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(Events2TextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel8)
.addComponent(Trials2TextField, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE)
.addComponent(Trials1TextField, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(ValuesComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(LabelsComboBox, 0, 103, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 71, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jLabel3))
.addGap(26, 26, 26)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(Pop2ComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Pop1ComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap())
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {Events1TextField, Events2TextField, Trials1TextField, Trials2TextField});
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(Sample1ColRadioButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(LabelsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(ValuesComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(23, 23, 23)
.addComponent(Sample2ColRadioButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(Pop1ComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Pop2ComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addComponent(SummaryRadioButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(jLabel8))
.addGap(11, 11, 11)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(Events1TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Trials1TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(Events2TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Trials2TextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Confidence"));
jLabel9.setText("Confidence Level:");
jLabel10.setText("0 - 1.00 (e.g. 0.95)");
ConfidenceTextField.setText("0.95");
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(ConfidenceTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel10)
.addContainerGap(37, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel9)
.addComponent(ConfidenceTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(99, 99, 99)
.addComponent(OKButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(CancelButton)))
.addContainerGap())
);
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {CancelButton, OKButton});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(OKButton)
.addComponent(CancelButton))
.addContainerGap())
);
pack();
}// //GEN-END:initComponents
@SuppressWarnings("unchecked")
private void OKButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OKButtonActionPerformed
app.compoundEdit = new DialogEdit("CI 2 proportion");
int trials1 = 0, trials2 = 0; // number of trials
int events1 = 0, events2 = 0; // number of events
double confidenceLevel;
String heading = "Confidence Interval - Two population proportions:";
String text = "";
// get confidence level from dialog
try {
confidenceLevel = Double.parseDouble(ConfidenceTextField.getText());
} catch (NumberFormatException e) {
app.showErrorDialog("Enter a number between 0 and 1 for the confidence level.");
return;
}
if (confidenceLevel <= 0 || confidenceLevel >= 1) {
app.showErrorDialog("Enter a number between 0 and 1 for the confidence level.");
return;
}
heading += " confidence level = " + confidenceLevel;
// summary values
if (SummaryRadioButton.isSelected()) {
try {
events1 = Integer.parseInt(Events1TextField.getText());
events2 = Integer.parseInt(Events2TextField.getText());
}
catch (NumberFormatException e) {
app.showErrorDialog("Enter an integer for the number of events.");
return;
}
try {
trials1 = Integer.parseInt(Trials1TextField.getText());
trials2 = Integer.parseInt(Trials2TextField.getText());
}
catch (NumberFormatException e) {
app.showErrorDialog("Enter an integer for the number of trials.");
return;
}
if (events1 > trials1 || events2 > trials2) {
app.showErrorDialog("The number of events cannot be greater" +
" than the number of trials.");
return;
}
}
else {
Vector Vector1 = null, Vector2 = null;
// sample values in one column, labels in another
if (Sample1ColRadioButton.isSelected()) {
// get data for the labels column
String columnLabel = LabelsComboBox.getSelectedItem().toString();
text += "Population labels in " + columnLabel + " ";
if (columnLabel.equals("")) { // no labels column
app.showErrorDialog("Select the column containing category labels.");
return;
}
int column = ParentSpreadsheet.parseColumnNumber(columnLabel);
Vector LabelsVector = ParentSpreadsheet.getColumn(column);
//get data for the sample values column
columnLabel = ValuesComboBox.getSelectedItem().toString();
text += "Samples values in " + columnLabel + " ";
if (columnLabel.equals("")) { // no values column
app.showErrorDialog("Select the column containing sample values.");
return;
}
column = ParentSpreadsheet.parseColumnNumber(columnLabel);
Vector ValuesVector = ParentSpreadsheet.getColumn(column);
// split values into two vectors corresponding to the two categories
try {
Object returnValues[] =
HelperFunctions.splitValuesVectorByLabels(LabelsVector, ValuesVector);
HelperFunctions.printVector((Vector)returnValues[1]);
HelperFunctions.printVector((Vector)returnValues[3]);
text += "Population 1 = " + returnValues[0] + " ";
text += "Population 2 = " + returnValues[2] + " ";
Vector1 = (Vector) returnValues[1];
Vector2 = (Vector) returnValues[3];
}
catch (Exception e) {
app.showErrorDialog(e.getMessage());
return;
}
}
// sample values of two populations in separate columns
else if (Sample2ColRadioButton.isSelected()) {
//get data for the two columns of sample values
String columnLabel = Pop1ComboBox.getSelectedItem().toString();
text += "Samples of population 1 in " + columnLabel + " ";
if (columnLabel.equals("")) { // no values column
app.showErrorDialog("Select the column containing sample " +
"values for the first population.");
return;
}
int column = ParentSpreadsheet.parseColumnNumber(columnLabel);
Vector1 = ParentSpreadsheet.getColumn(column);
columnLabel = Pop2ComboBox.getSelectedItem().toString();
text += "Samples of population 2 in " + columnLabel + " ";
if (columnLabel.equals("")) { // no values column
app.showErrorDialog("Select the column containing sample " +
"values for the second population.");
return;
}
column = ParentSpreadsheet.parseColumnNumber(columnLabel);
Vector2 = ParentSpreadsheet.getColumn(column);
}
// split values vector for each population into two
// for each of the two categories
try {
Object Values1[] =
HelperFunctions.splitValuesVector(Vector1);
String cat11 = (String)Values1[0];
String cat12 = (String)Values1[2];
Vector vector11 = (Vector) Values1[1];
Vector vector12 = (Vector) Values1[3];
Object Values2[] =
HelperFunctions.splitValuesVector(Vector2);
String cat21 = (String)Values2[0];
String cat22 = (String)Values2[2];
Vector vector21 = (Vector) Values2[1];
Vector vector22 = (Vector) Values2[3];
// check that the two categories in the two populations are
// the same
if (cat11.equals(cat21) && cat12.equals(cat22)) {
text += "Event = " + cat11;
events1 = vector11.size();
trials1 = vector11.size() + vector12.size();
events2 = vector21.size();
trials2 = vector21.size() + vector22.size();
}
else if (cat11.equals(cat22) && cat12.equals(cat21)) {
text += "Event = " + cat11;
events1 = vector11.size();
trials1 = vector11.size() + vector12.size();
events2 = vector22.size();
trials2 = vector21.size() + vector22.size();
}
else {
app.showErrorDialog("The two categories in the two " +
"population samples are not the same.");
return;
}
}
catch (Exception e) {
app.showErrorDialog(e.getMessage());
return;
}
}
ConfidenceInterval CI;
double p1 = (double)events1 / trials1;
double p2 = (double)events2 / trials2;
CI = new CI2PopProp(confidenceLevel, trials1, trials2, p1, p2);
text += "
";
text += " Number of Events Number of trials " +
"Proportion ";
text += "Sample 1 " + events1 + " " + trials1 +
" " + HelperFunctions.formatFloat(p1, 3) + " ";
text += "Sample 2 " + events2 + " " + trials2 +
" " + HelperFunctions.formatFloat(p2, 3) + " "
+ "
";
text += "Estimate for difference of population proportion = " +
HelperFunctions.formatFloat((p1 - p2), 3) + " ";
text += "Margin of error = " +
HelperFunctions.formatFloat(CI.marginOfError(), 3) + " ";
text += HelperFunctions.formatFloat(confidenceLevel * 100, 2) + "%CI = "
+ CI.toString();
app.addLogParagraph(heading, text);
app.compoundEdit.end();
app.addCompoundEdit(app.compoundEdit);
setVisible(false);
}//GEN-LAST:event_OKButtonActionPerformed
private void CancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CancelButtonActionPerformed
setVisible(false);
}//GEN-LAST:event_CancelButtonActionPerformed
private void Sample1ColRadioButtonStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_Sample1ColRadioButtonStateChanged
if (Sample1ColRadioButton.isSelected()) {
LabelsComboBox.setEnabled(true);
ValuesComboBox.setEnabled(true);
}
else {
LabelsComboBox.setEnabled(false);
ValuesComboBox.setEnabled(false);
}
}//GEN-LAST:event_Sample1ColRadioButtonStateChanged
private void Sample2ColRadioButtonStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_Sample2ColRadioButtonStateChanged
if (Sample2ColRadioButton.isSelected()) {
Pop1ComboBox.setEnabled(true);
Pop2ComboBox.setEnabled(true);
}
else {
Pop1ComboBox.setEnabled(false);
Pop2ComboBox.setEnabled(false);
}
}//GEN-LAST:event_Sample2ColRadioButtonStateChanged
private void SummaryRadioButtonStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_SummaryRadioButtonStateChanged
if (SummaryRadioButton.isSelected()) {
Events1TextField.setEnabled(true);
Events2TextField.setEnabled(true);
Trials1TextField.setEnabled(true);
Trials2TextField.setEnabled(true);
}
else {
Events1TextField.setEnabled(false);
Events2TextField.setEnabled(false);
Trials1TextField.setEnabled(false);
Trials2TextField.setEnabled(false);
}
}//GEN-LAST:event_SummaryRadioButtonStateChanged
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton CancelButton;
private javax.swing.JTextField ConfidenceTextField;
private javax.swing.JTextField Events1TextField;
private javax.swing.JTextField Events2TextField;
private javax.swing.JComboBox LabelsComboBox;
private javax.swing.JButton OKButton;
private javax.swing.JComboBox Pop1ComboBox;
private javax.swing.JComboBox Pop2ComboBox;
private javax.swing.JRadioButton Sample1ColRadioButton;
private javax.swing.JRadioButton Sample2ColRadioButton;
private javax.swing.JRadioButton SummaryRadioButton;
private javax.swing.JTextField Trials1TextField;
private javax.swing.JTextField Trials2TextField;
private javax.swing.JComboBox ValuesComboBox;
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.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
// End of variables declaration//GEN-END:variables
}
| | | | | | | | | | | | |
Ads help maintain this website.