Hallo ,
ich schreibe mein erster Gui :lol: und daher keine Größe Erfahrung,
mein Code Lautet
Danke :rtfm:
ich schreibe mein erster Gui :lol: und daher keine Größe Erfahrung,
mein Code Lautet
Java:
package MathematischeRechnungen;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import MathematischeRechnungen.XQuadratBerechnung;
public class MainWindow extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
public static String zahl1;
public static String zahl2;
public static String zahl3;
static XQuadratBerechnung mainB = new XQuadratBerechnung();
//public static String[] results;
JLabel noThing1 = new JLabel("");
JLabel noThing2 = new JLabel("");
JLabel noThing3 = new JLabel("");
JLabel noThing4 = new JLabel("");
JLabel x2 = new JLabel(" X² ");
JLabel x1 = new JLabel(" X ");
JLabel plus1 = new JLabel(" + ");
JLabel plus2 = new JLabel(" + ");
JLabel equal = new JLabel(" = ");
JTextField x2Zahl = new JTextField();
JTextField x1Zahl = new JTextField();
JTextField aZahl = new JTextField();
JTextField bZahl = new JTextField();
JButton cal = new JButton("Calculate");
public MainWindow() {
// TODO Auto-generated constructor stub
super(" Calculate Programm ");
initComponents();
this.addListeners();
}
private static void resultat() {
JFrame Result = new JFrame("Result");
Result.setLayout(new GridLayout(2, 0));
Result.add(new JLabel(" X1 = " + MainWindow.Berechnung()[0]));
Result.add(new JLabel(" X2 = " + MainWindow.Berechnung()[1]));
Result.setLocation(400, 400);
Result.setPreferredSize(new Dimension(160, 100));
Result.setVisible(true);
Result.pack();
}
private void initComponents() {
Container c = this.getContentPane();
GridBagLayout gbl = new GridBagLayout();
c.setLayout(gbl);
// x y w h wx wy
this.addComponent(c, gbl, new JLabel("" + "Example : X²"), 0, 0, 0, 1,
1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " + "), 3, 0, 0, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " 4 "), 4, 0, 0, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " X "), 5, 0, 0, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " + "), 6, 0, 0, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " 4 "), 7, 0, 0, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " = "), 8, 0, 0, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " 0 "), 9, 0, 0, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 1, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 2, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 3, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 4, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 5, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 6, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 7, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 8, 1, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 9, 1, 0, 3, 1.0, 1.0);
this.addComponent(c, gbl, this.x2Zahl, 0, 3, 1, 1, 1.0, 1.0);
this.x2Zahl.setBorder(BorderFactory.createEtchedBorder());
this.addComponent(c, gbl, this.noThing2, 1, 3, 1, 1, 1.0, 1.0);
this.x2.setPreferredSize(new Dimension(5, 5));
this.addComponent(c, gbl, this.x2, 2, 3, 1, 1, 1.0, 1.0);
this.addComponent(c, gbl, this.plus1, 3, 3, 1, 1, 1.0, 1.0);
this.addComponent(c, gbl, this.x1Zahl, 4, 3, 1, 1, 1.0, 1.0);
this.x1Zahl.setBorder(BorderFactory.createEtchedBorder());
this.addComponent(c, gbl, this.x1, 5, 3, 1, 1, 1.0, 1.0);
this.addComponent(c, gbl, this.plus2, 6, 3, 1, 1, 1.0, 1.0);
this.addComponent(c, gbl, this.aZahl, 7, 3, 1, 1, 1.0, 1.0);
this.aZahl.setBorder(BorderFactory.createEtchedBorder());
this.addComponent(c, gbl, this.equal, 8, 3, 1, 1, 1.0, 1.0);
this.bZahl.setBorder(BorderFactory.createEtchedBorder());
this.addComponent(c, gbl, this.bZahl, 9, 3, 1, 1, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 1, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 2, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 3, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 4, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 5, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 6, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 7, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 8, 4, 0, 2, 1.0, 1.0);
this.addComponent(c, gbl, new JLabel("" + " "), 9, 4, 0, 3, 1.0, 1.0);
this.addComponent(c, gbl, this.cal, 1, 20, 8, 1, 1.0, 1.0);
this.setLocation(255, 255);
this.setPreferredSize(new Dimension(400, 130)); // hehe, du hast...
this.setVisible(true);
this.pack();
}
void addComponent(Container cont, GridBagLayout gbl, Component c, int x,
int y, int width, int height, double weightx, double weighty) {
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.weightx = weightx;
gbc.weighty = weighty;
gbl.setConstraints(c, gbc);
cont.add(c);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MainWindow s = new MainWindow();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource().equals(this.x2Zahl)) {
try {
MainWindow.zahl1 = this.x2Zahl.getSelectedText();
} catch (NumberFormatException exc) {
//ignore
}
}
if (e.getSource().equals(this.x1Zahl)) {
MainWindow.zahl2 = this.x1Zahl.getSelectedText();
}
if (e.getSource().equals(this.aZahl)) {
MainWindow.zahl3 = this.aZahl.getSelectedText();
}
if (e.getSource().equals(this.cal)) {
MainWindow.resultat();
}
}
private void addListeners() {
this.cal.addActionListener(this);
this.x2Zahl.addActionListener(this);
this.x1Zahl.addActionListener(this);
this.aZahl.addActionListener(this);
this.bZahl.addActionListener(this);
}
public static String[] Berechnung(){
int d = Integer.parseInt(MainWindow.zahl1);
int c = Integer.parseInt(MainWindow.zahl2);
int e = Integer.parseInt(MainWindow.zahl3);
// Test fuer alle Zahlen
if (
d == 0 ||
c == 0 ||
e == 0) {
throw new IllegalArgumentException("Bitte Zahlen Angabe kontrollieren");
}
// dieser Fall ist für x^2 ist nicht 0
if (
Integer.parseInt(MainWindow.zahl1) > 1 ||
Integer.parseInt(MainWindow.zahl1) < 0) {
c = c /d;
e = e / d;
}
int x = - c;
// der Fall fuer x1 < 0
if (x > 0) {
for (int i = 1; i <= x; i++) {
for (int j = 1; j <= i; j++) {
if ( i + j == x && i * j ==
Integer.parseInt(MainWindow.zahl3)) {
String[] results = {Integer.toString(i),Integer.toString(j)};
return results;
}
}
}
}
// der Fall fuer x1 > 0
if (x < 0) {
for (int i = 1; i <= -x; i++) {
for (int j = 1; j <= i; j++) {
if ( i + j == -x && i * j ==
Integer.parseInt(MainWindow.zahl3)) {
String[] results = {Integer.toString(-i),Integer.toString(-j)};
return results;
}
}
}
}
String[] error = {"ERROR"};
return error;
}
}
Danke :rtfm: