Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.83 KB | None | 0 0
  1. package zeichnen_02_Expo;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Color;
  5. import java.awt.EventQueue;
  6. import java.awt.Font;
  7. import java.awt.Graphics;
  8. import java.awt.LayoutManager;
  9.  
  10. import javax.swing.JFrame;
  11. import javax.swing.JPanel;
  12. import javax.swing.border.EmptyBorder;
  13. import javax.swing.JButton;
  14. import java.awt.event.ActionListener;
  15. import java.awt.event.ActionEvent;
  16. import javax.swing.JTextField;
  17. import javax.swing.JLabel;
  18. import javax.swing.JOptionPane;
  19. import java.awt.event.KeyAdapter;
  20. import java.awt.event.KeyEvent;
  21.  
  22. public class JFramePaintFunktionQuadNullstellen extends JFrame {
  23.  
  24. private JPanel contentPane;
  25. private Font f1 = new Font("Comic Sans MS", Font.BOLD, 20);
  26. private boolean jButtonZeichneIsSelected = false;
  27. private boolean jButtonEFunktionIsSelected = false;
  28. private JPanel panel;
  29. private JButton jButtonZeichne;
  30. private JTextField textField_a;
  31. private JTextField textField_b;
  32. private JTextField textField_c;
  33. private JLabel labelA;
  34. private JLabel labelB;
  35. private JLabel labelC;
  36. private double a;
  37. private double b;
  38. private double c;
  39. private int key1;
  40. private int key2;
  41. private JButton jButtonEFunktion;
  42.  
  43. /**
  44. * Launch the application.
  45. */
  46. public static void main(String[] args) {
  47. EventQueue.invokeLater(new Runnable() {
  48. public void run() {
  49. try {
  50. JFramePaintFunktionQuadNullstellen frame = new JFramePaintFunktionQuadNullstellen();
  51. frame.setVisible(true);
  52. } catch (Exception e) {
  53. e.printStackTrace();
  54. }
  55. }
  56. });
  57. }
  58.  
  59. /**
  60. * Create the frame.
  61. */
  62. public JFramePaintFunktionQuadNullstellen() {
  63. initGUI();
  64. }
  65. private void initGUI() {
  66. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  67. setBounds(100, 100, 600, 500);
  68. contentPane = new JPanel();
  69. contentPane.setBackground(Color.YELLOW);
  70. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  71. setContentPane(contentPane);
  72. contentPane.setLayout(null);
  73. {
  74. panel = new JPanel();
  75. panel.setBounds(0, 427, 546, 35);
  76. contentPane.add(panel);
  77. panel.setLayout(null);
  78. {
  79. jButtonZeichne = new JButton("Zeichnen");
  80. jButtonZeichne.addKeyListener(new KeyAdapter() {
  81. @Override
  82. public void keyPressed(KeyEvent e) {
  83. do_jButtonZeichne_keyPressed(e);
  84. }
  85. @Override
  86. public void keyReleased(KeyEvent e) {
  87. do_jButtonZeichne_keyReleased(e);
  88. }
  89. });
  90. jButtonZeichne.addActionListener(new ActionListener() {
  91. public void actionPerformed(ActionEvent e) {
  92. do_jButtonZeichne_actionPerformed(e);
  93. }
  94. });
  95. jButtonZeichne.setBounds(368, 0, 89, 37);
  96. panel.add(jButtonZeichne);
  97. }
  98. {
  99. textField_a = new JTextField();
  100. textField_a.setBounds(38, 0, 40, 34);
  101. panel.add(textField_a);
  102. textField_a.setColumns(10);
  103. }
  104. {
  105. textField_b = new JTextField();
  106. textField_b.setColumns(10);
  107. textField_b.setBounds(147, 0, 42, 34);
  108. panel.add(textField_b);
  109. }
  110. {
  111. textField_c = new JTextField();
  112. textField_c.setColumns(10);
  113. textField_c.setBounds(259, 0, 38, 34);
  114. panel.add(textField_c);
  115. }
  116. {
  117. labelA = new JLabel("a=");
  118. labelA.setBounds(0, 11, 46, 14);
  119. panel.add(labelA);
  120. }
  121. {
  122. labelB = new JLabel("b=");
  123. labelB.setBounds(91, 11, 46, 14);
  124. panel.add(labelB);
  125. }
  126. {
  127. labelC = new JLabel("c=");
  128. labelC.setBounds(199, 11, 46, 14);
  129. panel.add(labelC);
  130. }
  131. {
  132. jButtonEFunktion = new JButton("E-Zeichnen");
  133. jButtonEFunktion.addActionListener(new ActionListener() {
  134. public void actionPerformed(ActionEvent e) {
  135. do_jButtonEFunktion_actionPerformed(e);
  136. }
  137. });
  138. jButtonEFunktion.setBounds(457, 0, 89, 37);
  139. panel.add(jButtonEFunktion);
  140. }
  141. }
  142. }
  143.  
  144. public void paint(Graphics g) {
  145. super.paintComponents(g);
  146. int sizeX = this.getWidth();
  147. int sizeY = this.getHeight();
  148.  
  149. // oben links soll Name stehen
  150. g.setColor(Color.green);
  151. g.setFont(f1);
  152. g.drawString(" Hallo ", 50, 70);
  153.  
  154. // Koordinatensystem erstellen
  155. KoordinatenSystem koord = new KoordinatenSystem(g, sizeX, sizeY);
  156. if (this.jButtonZeichneIsSelected)
  157. {
  158. if(setKooeffizienten()) {
  159. koord.paintGanzrationaleFunktion(g, sizeX, sizeY, a, b, c);
  160. } else {
  161. JOptionPane.showMessageDialog(null, "Ungültige Eingabe", "Fehlermeldung", JOptionPane.ERROR_MESSAGE);
  162. }
  163. }
  164. else if (this.jButtonEFunktionIsSelected) {
  165. {
  166. koord.paintExpoFunktion(g, sizeX, sizeY);
  167. }
  168. }
  169. jButtonEFunktionIsSelected = false;
  170. jButtonZeichneIsSelected = false;
  171. }
  172. protected void do_jButtonZeichne_actionPerformed(ActionEvent e) {
  173. jButtonZeichneIsSelected = true;
  174. this.repaint();
  175. }
  176. private boolean setKooeffizienten() {
  177. // Parameter initialisieren
  178. this.a = 0;
  179. this.b = 0;
  180. this.c = 0;
  181. String strA = textField_a.getText();
  182. String strB = textField_b.getText();
  183. String strC = textField_c.getText();
  184. try {
  185. if (strA.isEmpty() != true) {
  186. this.a = Double.parseDouble(textField_a.getText().replace(',', '.'));
  187. }
  188. if (strB.isEmpty() != true) {
  189. this.b = Double.parseDouble(textField_b.getText().replace(',', '.'));
  190. }
  191. if (strC.isEmpty() != true)
  192. { this.c = Double.parseDouble(textField_c.getText().replace(',', '.'));
  193. }
  194. return true;
  195. }
  196. catch (NumberFormatException e) {
  197. return false;
  198. }
  199. }
  200. protected void do_jButtonZeichne_keyPressed(KeyEvent e) {
  201.  
  202.  
  203. if(e.getKeyCode() != KeyEvent.VK_Z) {
  204. key1 = e.getKeyCode();
  205. } else {
  206. key2 = e.getKeyCode();
  207. }
  208. if(key1 == KeyEvent.VK_ALT && key2 == KeyEvent.VK_Z) {
  209. jButtonZeichneIsSelected = true;
  210. this.repaint();
  211. }
  212.  
  213. }
  214. protected void do_jButtonZeichne_keyReleased(KeyEvent e) {
  215. key1 = 0;
  216. key2 = 0;
  217. }
  218. protected void do_jButtonEFunktion_actionPerformed(ActionEvent e) {
  219. jButtonEFunktionIsSelected = true;
  220. repaint();
  221. }
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement