package com.github.guikeller.jettyrunner.ui;
import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.net.URL;
/**
* View / Presentation - Created using the WYSIWYG editor.
* Used the JGoodies Form Layout - which is BSD.
* @author Gui Keller
*/
public class JettyRunnerConfPanel {
private JPanel mainPanel;
private JTextField pathField;
private JTextField webappField;
private JTextField classesField;
private JTextField runOnPortField;
private JTextField xmlField;
private JButton browseButton;
private JTextField vmArgsField;
private EnvironmentVariablesComponent environmentVariables;
private JLabel spacerLabel;
private JLabel vmArgsLabel;
private JLabel firstMsgLabel;
private JLabel xmlLabel;
private JLabel runOnPortLabel;
private JLabel classesLabel;
private JLabel webappLabel;
private JLabel pathLabel;
private JLabel secondMsgLabel;
private JLabel envVarLabel;
public JettyRunnerConfPanel() {
// Action executed when clicked on "Browse XML"
browseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Shows a file chooser
JFileChooser fileChooser = new JFileChooser();
fileChooser.setMultiSelectionEnabled(Boolean.TRUE);
// Checking whether the user clicked okay
int result = fileChooser.showOpenDialog(new JFrame());
if (result == JFileChooser.APPROVE_OPTION) {
StringBuffer paths = new StringBuffer();
File[] selectedFiles = fileChooser.getSelectedFiles();
if (selectedFiles != null && selectedFiles.length > 0) {
for (File selectedFile : selectedFiles) {
// Selected files in CSV format
paths.append(selectedFile.getAbsolutePath() + ",");
}
// Removing the comma at the end
String value = paths.substring(0, (paths.length() - 1));
xmlField.setText(value);
}
}
}
});
}
public JPanel getMainPanel() {
return mainPanel;
}
public JTextField getPathField() {
return pathField;
}
public JTextField getWebappField() {
return webappField;
}
public JTextField getClassesField() {
return classesField;
}
public JTextField getRunOnPortField() {
return runOnPortField;
}
public JTextField getXmlField() {
return xmlField;
}
public JTextField getVmArgsField() {
return vmArgsField;
}
public EnvironmentVariablesComponent getEnvironmentVariables() {
return environmentVariables;
}
}