algorithms-for-computing-li.../LinearRegressionTool/src/main/java/de/wwwu/awolf/view/panels/tabs/RMPanel.java

93 lines
2.5 KiB
Java

package de.wwwu.awolf.view.panels.tabs;
import javax.swing.*;
import java.awt.*;
/**
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
*
* @Author: Armin Wolf
* @Email: a_wolf28@uni-muenster.de
* @Date: 21.06.2017.
*/
public class RMPanel extends TabPanel {
private JLabel labels;
private JTextField input;
private JPanel continer;
private GridBagConstraints gbc;
/**
* Konstruktor
*/
public RMPanel() {
super();
this.labels = new JLabel();
this.input = new JTextField();
this.setLayout(new BorderLayout());
this.continer = new JPanel();
this.continer.setLayout(new GridBagLayout());
this.gbc = new GridBagConstraints();
this.gbc.anchor = GridBagConstraints.NORTH;
this.gbc.fill = GridBagConstraints.HORIZONTAL;
addTextfieldAndInput(0, "\u00df (0 < \u00df < 1)", 0.5);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
gbc.insets = new Insets(30, 0, 10, 0);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.weightx = 0.05;
gbc.weighty = 0.05;
buttonPanel.add(getStartButton());
continer.add(buttonPanel, gbc);
getNorthPanel().add(continer, BorderLayout.CENTER);
this.add(getNorthPanel(), BorderLayout.NORTH);
this.add(getCenterPanel(), BorderLayout.CENTER);
}
@Override
protected void addTextfieldAndInput(int row, String name, Double value) {
this.labels = new JLabel(name);
this.labels.setFont(new Font("SansSerif", Font.PLAIN, 13));
this.input = new JTextField();
this.input.setText("" + value);
gbc.insets = new Insets(0, 5, 0, 0);
gbc.gridx = 0;
gbc.gridy = row;
gbc.weightx = 0.05;
gbc.weighty = 0.05;
continer.add(this.labels, gbc);
gbc.gridx = 1;
gbc.gridy = row;
gbc.weightx = 0.9;
gbc.weighty = 0.05;
gbc.insets = new Insets(0, 0, 0, 5);
continer.add(this.input, gbc);
}
/**
* Liefert die Eingabe zurück. Der Parameter wird für den Alg. benötigt.
*
* @return Eingabe
*/
public String getInput() {
String input = "";
input = this.input.getText();
if (isNumeric(input))
return input;
else
JOptionPane.showMessageDialog(this, "Bitte geben Sie numerische Werte als Parameter an.", "Fehler bei der Eingabe", JOptionPane.ERROR_MESSAGE);
return null;
}
}