-
Notifications
You must be signed in to change notification settings - Fork 6
/
HelloSamplerGui.java
executable file
·104 lines (86 loc) · 2.67 KB
/
HelloSamplerGui.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package hello.jmeter.hellosampler.gui;
import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import hello.jmeter.hellosampler.HelloSampler;
import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
// import kg.apc.jmeter.JMeterPluginsUtils;
/**
* 这里是JMeter界面控制的代码
*
* This is the GUI class which contains necessary methods
* to make GUI component suitable for execution in JMeter.
*/
public class HelloSamplerGui extends AbstractSamplerGui {
private static final long serialVersionUID = 240L;
private JTextArea helloInput;
public HelloSamplerGui() {
init();
}
@Override
public String getStaticLabel() {
return "Hello Sampler";
}
@Override
public String getLabelResource() {
return this.getClass().getSimpleName();
}
@Override
public void configure(TestElement element) {
helloInput.setText(element.getPropertyAsString(HelloSampler.HELLOINPUT));
super.configure(element);
}
@Override
public TestElement createTestElement() {
HelloSampler sampler = new HelloSampler();
modifyTestElement(sampler);
return sampler;
}
@Override
public void modifyTestElement(TestElement te) {
te.clear();
configureTestElement(te);
te.setProperty(HelloSampler.HELLOINPUT, helloInput.getText());
}
/*
* 设置JMeter GUI界面
*
* Helper method to set up the GUI screen
*/
private void init() {
// 标准设置
// Standard setup
setLayout(new BorderLayout(0, 5));
setBorder(makeBorder());
add(makeTitlePanel(), BorderLayout.NORTH);
// 特殊设置
// Specific setup
add(createDataPanel(), BorderLayout.CENTER);
}
/*
* 为helloInput创建一个数据输入框
* @return 返回界面输入的数据
*
* Create a helloInput input text field
* @return the panel for entering the helloInput
*/
private Component createDataPanel() {
JLabel label = new JLabel("Input Hello Words: ");
helloInput = new JTextArea();
helloInput.setName(HelloSampler.HELLOINPUT);
label.setLabelFor(helloInput);
JPanel dataPanel = new JPanel(new BorderLayout(5, 0));
dataPanel.add(label, BorderLayout.WEST);
dataPanel.add(helloInput, BorderLayout.CENTER);
return dataPanel;
}
@Override
public void clearGui() {
super.clearGui();
helloInput.setText("");
}
}