in src/components/src/main/java/org/apache/jmeter/sampler/gui/TestActionGui.java [181:285]
private void init() { // WARNING: called from ctor so must not be overridden (i.e. must be private or final)
setLayout(new VerticalLayout(5, VerticalLayout.BOTH, VerticalLayout.TOP));
setBorder(makeBorder());
add(makeTitlePanel());
ButtonGroup actionButtons = new ButtonGroup();
pauseButton = new JRadioButton(PAUSE_ACTION_LABEL, true);
pauseButton.addChangeListener(evt -> {
if (pauseButton.isSelected()) {
action = TestAction.PAUSE;
durationField.setEnabled(true);
targetBox.setEnabled(false);
}
});
stopButton = new JRadioButton(STOP_ACTION_LABEL, false);
stopButton.addChangeListener(evt -> {
if (stopButton.isSelected()) {
action = TestAction.STOP;
durationField.setEnabled(false);
targetBox.setEnabled(true);
}
});
stopNowButton = new JRadioButton(STOP_NOW_ACTION_LABEL, false);
stopNowButton.addChangeListener(evt -> {
if (stopNowButton.isSelected()) {
action = TestAction.STOP_NOW;
durationField.setEnabled(false);
targetBox.setEnabled(true);
}
});
restartNextThreadLoopButton = new JRadioButton(RESTART_NEXT_THREAD_LOOP_LABEL, false);
restartNextThreadLoopButton.addChangeListener(evt -> {
if (restartNextThreadLoopButton.isSelected()) {
action = TestAction.RESTART_NEXT_LOOP;
durationField.setEnabled(false);
targetBox.setSelectedIndex(TestAction.THREAD);
targetBox.setEnabled(false);
}
});
startNextIterationOfCurrentLoopButton = new JRadioButton(START_NEXT_ITERATION_CURRENT_LOOP_ACTION, false);
startNextIterationOfCurrentLoopButton.addChangeListener(evt -> {
if (startNextIterationOfCurrentLoopButton.isSelected()) {
action = TestAction.START_NEXT_ITERATION_CURRENT_LOOP;
durationField.setEnabled(false);
targetBox.setSelectedIndex(TestAction.THREAD);
targetBox.setEnabled(false);
}
});
breakLoopButton = new JRadioButton(BREAK_CURRENT_LOOP_ACTION, false);
breakLoopButton.addChangeListener(evt -> {
if (breakLoopButton.isSelected()) {
action = TestAction.BREAK_CURRENT_LOOP;
durationField.setEnabled(false);
targetBox.setSelectedIndex(TestAction.THREAD);
targetBox.setEnabled(false);
}
});
// Duration
durationField = new JLabeledTextField(DURATION_LABEL, 15);
durationField.setText(""); // $NON-NLS-1$
actionButtons.add(pauseButton);
actionButtons.add(stopButton);
actionButtons.add(stopNowButton);
actionButtons.add(restartNextThreadLoopButton);
actionButtons.add(startNextIterationOfCurrentLoopButton);
actionButtons.add(breakLoopButton);
// Action
JPanel actionOnThreadPanel = new JPanel(new GridLayout(3, 2));
actionOnThreadPanel.setBorder(BorderFactory.createTitledBorder(ACTION_ON_THREAD_LABEL)); //$NON-NLS-1$
actionOnThreadPanel.add(pauseButton);
actionOnThreadPanel.add(durationField);
actionOnThreadPanel.add(restartNextThreadLoopButton);
actionOnThreadPanel.add(startNextIterationOfCurrentLoopButton);
actionOnThreadPanel.add(breakLoopButton);
// Action
JPanel actionOnTestOrThreadPanel = new JPanel(new GridLayout(2, 2));
actionOnTestOrThreadPanel.setBorder(BorderFactory.createTitledBorder(ACTION_ON_THREAD_TEST_LABEL)); //$NON-NLS-1$
actionOnTestOrThreadPanel.add(stopButton);
actionOnTestOrThreadPanel.add(stopNowButton);
actionOnTestOrThreadPanel.add(new JLabel(TARGET_LABEL));
DefaultComboBoxModel<String> targetModel = new DefaultComboBoxModel<>();
targetModel.addElement(THREAD_TARGET_LABEL);
targetModel.addElement(TEST_TARGET_LABEL);
targetBox = new JComboBox<>(targetModel);
targetBox.addActionListener(evt -> {
if (((String) targetBox.getSelectedItem()).equals(THREAD_TARGET_LABEL)) {
target = TestAction.THREAD;
} else {
target = TestAction.TEST;
}
});
actionOnTestOrThreadPanel.add(targetBox);
add(actionOnThreadPanel);
add(actionOnTestOrThreadPanel);
}