Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package zeichnen_02_Expo;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.EventQueue;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.LayoutManager;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import javax.swing.JTextField;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- public class JFramePaintFunktionQuadNullstellen extends JFrame {
- private JPanel contentPane;
- private Font f1 = new Font("Comic Sans MS", Font.BOLD, 20);
- private boolean jButtonZeichneIsSelected = false;
- private boolean jButtonEFunktionIsSelected = false;
- private JPanel panel;
- private JButton jButtonZeichne;
- private JTextField textField_a;
- private JTextField textField_b;
- private JTextField textField_c;
- private JLabel labelA;
- private JLabel labelB;
- private JLabel labelC;
- private double a;
- private double b;
- private double c;
- private int key1;
- private int key2;
- private JButton jButtonEFunktion;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- JFramePaintFunktionQuadNullstellen frame = new JFramePaintFunktionQuadNullstellen();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public JFramePaintFunktionQuadNullstellen() {
- initGUI();
- }
- private void initGUI() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 600, 500);
- contentPane = new JPanel();
- contentPane.setBackground(Color.YELLOW);
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
- {
- panel = new JPanel();
- panel.setBounds(0, 427, 546, 35);
- contentPane.add(panel);
- panel.setLayout(null);
- {
- jButtonZeichne = new JButton("Zeichnen");
- jButtonZeichne.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent e) {
- do_jButtonZeichne_keyPressed(e);
- }
- @Override
- public void keyReleased(KeyEvent e) {
- do_jButtonZeichne_keyReleased(e);
- }
- });
- jButtonZeichne.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- do_jButtonZeichne_actionPerformed(e);
- }
- });
- jButtonZeichne.setBounds(368, 0, 89, 37);
- panel.add(jButtonZeichne);
- }
- {
- textField_a = new JTextField();
- textField_a.setBounds(38, 0, 40, 34);
- panel.add(textField_a);
- textField_a.setColumns(10);
- }
- {
- textField_b = new JTextField();
- textField_b.setColumns(10);
- textField_b.setBounds(147, 0, 42, 34);
- panel.add(textField_b);
- }
- {
- textField_c = new JTextField();
- textField_c.setColumns(10);
- textField_c.setBounds(259, 0, 38, 34);
- panel.add(textField_c);
- }
- {
- labelA = new JLabel("a=");
- labelA.setBounds(0, 11, 46, 14);
- panel.add(labelA);
- }
- {
- labelB = new JLabel("b=");
- labelB.setBounds(91, 11, 46, 14);
- panel.add(labelB);
- }
- {
- labelC = new JLabel("c=");
- labelC.setBounds(199, 11, 46, 14);
- panel.add(labelC);
- }
- {
- jButtonEFunktion = new JButton("E-Zeichnen");
- jButtonEFunktion.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- do_jButtonEFunktion_actionPerformed(e);
- }
- });
- jButtonEFunktion.setBounds(457, 0, 89, 37);
- panel.add(jButtonEFunktion);
- }
- }
- }
- public void paint(Graphics g) {
- super.paintComponents(g);
- int sizeX = this.getWidth();
- int sizeY = this.getHeight();
- // oben links soll Name stehen
- g.setColor(Color.green);
- g.setFont(f1);
- g.drawString(" Hallo ", 50, 70);
- // Koordinatensystem erstellen
- KoordinatenSystem koord = new KoordinatenSystem(g, sizeX, sizeY);
- if (this.jButtonZeichneIsSelected)
- {
- if(setKooeffizienten()) {
- koord.paintGanzrationaleFunktion(g, sizeX, sizeY, a, b, c);
- } else {
- JOptionPane.showMessageDialog(null, "Ungültige Eingabe", "Fehlermeldung", JOptionPane.ERROR_MESSAGE);
- }
- }
- else if (this.jButtonEFunktionIsSelected) {
- {
- koord.paintExpoFunktion(g, sizeX, sizeY);
- }
- }
- jButtonEFunktionIsSelected = false;
- jButtonZeichneIsSelected = false;
- }
- protected void do_jButtonZeichne_actionPerformed(ActionEvent e) {
- jButtonZeichneIsSelected = true;
- this.repaint();
- }
- private boolean setKooeffizienten() {
- // Parameter initialisieren
- this.a = 0;
- this.b = 0;
- this.c = 0;
- String strA = textField_a.getText();
- String strB = textField_b.getText();
- String strC = textField_c.getText();
- try {
- if (strA.isEmpty() != true) {
- this.a = Double.parseDouble(textField_a.getText().replace(',', '.'));
- }
- if (strB.isEmpty() != true) {
- this.b = Double.parseDouble(textField_b.getText().replace(',', '.'));
- }
- if (strC.isEmpty() != true)
- { this.c = Double.parseDouble(textField_c.getText().replace(',', '.'));
- }
- return true;
- }
- catch (NumberFormatException e) {
- return false;
- }
- }
- protected void do_jButtonZeichne_keyPressed(KeyEvent e) {
- if(e.getKeyCode() != KeyEvent.VK_Z) {
- key1 = e.getKeyCode();
- } else {
- key2 = e.getKeyCode();
- }
- if(key1 == KeyEvent.VK_ALT && key2 == KeyEvent.VK_Z) {
- jButtonZeichneIsSelected = true;
- this.repaint();
- }
- }
- protected void do_jButtonZeichne_keyReleased(KeyEvent e) {
- key1 = 0;
- key2 = 0;
- }
- protected void do_jButtonEFunktion_actionPerformed(ActionEvent e) {
- jButtonEFunktionIsSelected = true;
- repaint();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement