PanelUserAgent.java
package com.jsql.view.swing.panel.preferences;
import com.jsql.util.StringUtil;
import com.jsql.view.swing.panel.PanelPreferences;
import com.jsql.view.swing.text.JPopupTextArea;
import com.jsql.view.swing.text.JTextAreaPlaceholder;
import com.jsql.view.swing.text.listener.DocumentListenerEditing;
import com.jsql.view.swing.util.MediatorHelper;
import javax.swing.*;
import java.awt.*;
public class PanelUserAgent extends JPanel {
private final JCheckBox checkboxIsCustomUserAgent = new JCheckBox("Randomize agent with the following list:", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isUserAgentRandom());
public PanelUserAgent(PanelPreferences panelPreferences) {
var userAgents = StringUtil.getFile("swing/list/user-agent.txt");
MediatorHelper.model().getMediatorUtils().getUserAgentUtil().setCustomUserAgent(userAgents);
this.checkboxIsCustomUserAgent.addActionListener(panelPreferences.getActionListenerSave());
JTextArea textfieldCustomUserAgent = new JPopupTextArea(new JTextAreaPlaceholder("User agent list")).getProxy();
textfieldCustomUserAgent.setMinimumSize(new Dimension(40000, 100));
textfieldCustomUserAgent.getCaret().setBlinkRate(500);
textfieldCustomUserAgent.setText(userAgents);
MediatorHelper.model().getMediatorUtils().getUserAgentUtil().setCustomUserAgent(userAgents);
textfieldCustomUserAgent.getDocument().addDocumentListener(new DocumentListenerEditing() {
@Override
public void process() {
MediatorHelper.model().getMediatorUtils().getUserAgentUtil().setCustomUserAgent(
textfieldCustomUserAgent.getText()
);
}
});
var scrollPane = new JScrollPane(textfieldCustomUserAgent);
var labelOrigin = new JLabel("<html><b>Connection user agent</b></html>");
labelOrigin.setBorder(PanelGeneral.MARGIN);
var groupLayout = new GroupLayout(this);
this.setLayout(groupLayout);
groupLayout.setHorizontalGroup(
groupLayout
.createSequentialGroup()
.addGroup(
groupLayout
.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(labelOrigin)
.addComponent(this.checkboxIsCustomUserAgent)
.addComponent(scrollPane)
)
);
groupLayout.setVerticalGroup(
groupLayout
.createSequentialGroup()
.addGroup(
groupLayout
.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(labelOrigin)
)
.addGroup(
groupLayout
.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(this.checkboxIsCustomUserAgent)
)
.addGroup(
groupLayout
.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(scrollPane)
)
);
}
public JCheckBox getCheckboxIsCustomUserAgent() {
return this.checkboxIsCustomUserAgent;
}
}