Hallo liebe Community,
gerade erst angemeldet und schon die erste Frage!
Bin momentan dabei ein Programm zu schreiben, welches mir die Funktion f(x)=x² zeichnet.
Ich suche keine Lösung, sondern nur den Anfang und eventuell eine Erklaerung dazu.
Ich lasse euch ein paar Bilder und mein Code da und danke euch im Vorraus!
Erstes Layer: Bild!
Zweites Layer: Bild!
gerade erst angemeldet und schon die erste Frage!
Bin momentan dabei ein Programm zu schreiben, welches mir die Funktion f(x)=x² zeichnet.
Ich suche keine Lösung, sondern nur den Anfang und eventuell eine Erklaerung dazu.
Ich lasse euch ein paar Bilder und mein Code da und danke euch im Vorraus!
Erstes Layer: Bild!
Zweites Layer: Bild!
Java:
package ebkherne.hbit3.funktionsplotter;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Angaben extends JFrame implements ActionListener {
private JPanel[][] pnlMain;
private JLabel lblfx;
private JButton btnPlot;
protected JTextField txtFunktion;
protected static double varFunktion;
public Angaben() {
// Panel & Layout
int i = 2;
int j = 2;
pnlMain = new JPanel[i][j];
this.setLayout(new GridLayout(i, j));
for (int m = 0; m < i; m++) {
for (int n = 0; n < j; n++) {
pnlMain[m][n] = new JPanel();
this.add(pnlMain[m][n]);
}
}
// Erstellung
lblfx = new JLabel("Bitte geben sie f(x) an: ");
txtFunktion = new JTextField();
btnPlot = new JButton("Plot!");
// Eigenschaften der J's
txtFunktion.setPreferredSize(new Dimension(100, 20));
btnPlot.setPreferredSize(new Dimension(100, 20));
// Hinzufugen
pnlMain[0][0].add(lblfx);
pnlMain[0][1].add(txtFunktion);
pnlMain[1][1].add(btnPlot);
btnPlot.addActionListener(this);
// Eigenschaften
this.setBounds(300, 200, 300, 100);
this.setResizable(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
varFunktion = Double.parseDouble(txtFunktion.getText());
if (ae.getActionCommand().equals("Plot!")) {
new Koordinatensystem();
this.dispose();
}
}
}
Java:
package ebkherne.hbit3.funktionsplotter;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Koordinatensystem extends JFrame implements ActionListener {
private JPanel pnlMain;
private JButton btnZuruck;
protected JPanel Zeichnen = new Zeichnen();
public Koordinatensystem() {
btnZuruck = new JButton("Zurück");
btnZuruck.addActionListener(this);
pnlMain = new JPanel(new BorderLayout());
pnlMain.add(Zeichnen, BorderLayout.CENTER);
pnlMain.add(btnZuruck, BorderLayout.SOUTH);
this.setPreferredSize(new Dimension(607, 609));
this.pack();
this.setContentPane(pnlMain);
this.setResizable(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
if (ae.getActionCommand().equals("Zurück")) {
this.dispose();
new Angaben();
}
}
}
Java:
package ebkherne.hbit3.funktionsplotter;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Zeichnen extends JPanel {
public Zeichnen() {
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.BLACK);
g.drawLine(0, 300, 600, 300);
g.drawLine(300, 0, 300, 600);
for (int i = 0; i <= this.getWidth(); i += 20) {
g.drawLine(i, 295, i, 305);
}
for (int i = 0; i <= this.getHeight(); i += 20) {
g.drawLine(295, i, 305, i);
}
}
}