diff --git a/AngleConverter/.classpath b/AngleConverter/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..20a8b72ab4c60e9256a641fbfba9dee3204732a3 --- /dev/null +++ b/AngleConverter/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/AngleConverter/.gitignore b/AngleConverter/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53 --- /dev/null +++ b/AngleConverter/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/AngleConverter/.project b/AngleConverter/.project new file mode 100644 index 0000000000000000000000000000000000000000..958508d6b9dfd271b66dc5b647387a79d859fc61 --- /dev/null +++ b/AngleConverter/.project @@ -0,0 +1,17 @@ + + + AngleConverter + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/AngleConverter/.settings/org.eclipse.core.resources.prefs b/AngleConverter/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/AngleConverter/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/AngleConverter/.settings/org.eclipse.jdt.core.prefs b/AngleConverter/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..679432a954a27f10b32db650a9818b1d8bc83522 --- /dev/null +++ b/AngleConverter/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=22 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=22 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=22 diff --git a/AngleConverter/src/AngleDrawer.java b/AngleConverter/src/AngleDrawer.java new file mode 100644 index 0000000000000000000000000000000000000000..f76a311315a32d3208450e727970c633aeb5ff9b --- /dev/null +++ b/AngleConverter/src/AngleDrawer.java @@ -0,0 +1,87 @@ +import java.awt.*; +import javax.swing.*; + +public class AngleDrawer extends JFrame { + private static final long serialVersionUID = 1L; // Empfohlene serialVersionUID + private final JTextField gradField; + private final DrawPanel drawPanel; + + public AngleDrawer() { + // Fenster konfigurieren + setTitle("Grad-Anzeige auf Kreis"); + setSize(400, 400); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setLayout(null); // Kein Layout-Manager, manuelle Positionierung + + // Eingabefeld und Label + JLabel label = new JLabel("Grad:"); + label.setBounds(20, 20, 50, 30); // x, y, Breite, Höhe + add(label); + + gradField = new JTextField(); + gradField.setBounds(70, 20, 100, 30); + add(gradField); + + // Button + JButton drawButton = new JButton("Zeichnen"); + drawButton.setBounds(180, 20, 100, 30); + add(drawButton); + + // Zeichenbereich + drawPanel = new DrawPanel(); + drawPanel.setBounds(20, 70, 350, 280); // Position und Größe des Zeichenbereichs + add(drawPanel); + + // Button-Action + drawButton.addActionListener(e -> { + try { + double grad = Double.parseDouble(gradField.getText()); + drawPanel.setAngle(grad); + } catch (NumberFormatException ex) { + JOptionPane.showMessageDialog(this, "Bitte eine gültige Gradzahl eingeben."); + } + }); + } + + private static class DrawPanel extends JPanel { + private static final long serialVersionUID = 1L; // Empfohlene serialVersionUID + private double angle = 0; // Winkel in Grad + + public void setAngle(double angle) { + this.angle = angle % 360; // Winkel auf Bereich [0, 360) reduzieren + repaint(); // Neuzeichnen des Panels anfordern + } + + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + + // Panel-Mitte und Radius berechnen + int width = getWidth(); + int height = getHeight(); + int radius = Math.min(width, height) / 2 - 10; + int centerX = width / 2; + int centerY = height / 2; + + // Kreis zeichnen + g.drawOval(centerX - radius, centerY - radius, radius * 2, radius * 2); + + // Pfeil berechnen und zeichnen + double radian = Math.toRadians(angle); + int arrowX = centerX + (int) (radius * Math.cos(radian)); + int arrowY = centerY - (int) (radius * Math.sin(radian)); + g.drawLine(centerX, centerY, arrowX, arrowY); + + // Winkel anzeigen + g.drawString("Grad: " + (int) angle, 10, 20); + } + } + + public static void main(String[] args) { + // GUI starten + SwingUtilities.invokeLater(() -> { + AngleDrawer frame = new AngleDrawer(); + frame.setVisible(true); + }); + } +} diff --git a/TestBHT/bin/main/JavaMenu.class b/TestBHT/bin/main/JavaMenu.class index d80a0371cdd80a93ee50dd14373495f0f1eb776c..4e837ac76a52c24c23b71e316d4719d72bf9c54f 100644 Binary files a/TestBHT/bin/main/JavaMenu.class and b/TestBHT/bin/main/JavaMenu.class differ diff --git a/TestBHT/src/main/JavaMenu.java b/TestBHT/src/main/JavaMenu.java index b598b49166efaf52269369feb45cde851fd7fd2d..77497e98058f17daf764595e280223021d95d3e2 100644 --- a/TestBHT/src/main/JavaMenu.java +++ b/TestBHT/src/main/JavaMenu.java @@ -17,7 +17,7 @@ public class JavaMenu System.out.println("2 fuer maennlich"); - System.out.println("3 fuer anderes"); + System.out.println("3 fuer divers"); try { diff --git a/TestTim/.classpath b/TestTim/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..20a8b72ab4c60e9256a641fbfba9dee3204732a3 --- /dev/null +++ b/TestTim/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/TestTim/.gitignore b/TestTim/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53 --- /dev/null +++ b/TestTim/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/TestTim/.project b/TestTim/.project new file mode 100644 index 0000000000000000000000000000000000000000..3b264b9d55e7de0e2efea3c4791e82a263de37d5 --- /dev/null +++ b/TestTim/.project @@ -0,0 +1,17 @@ + + + TestTim + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/TestTim/.settings/org.eclipse.core.resources.prefs b/TestTim/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/TestTim/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/TestTim/.settings/org.eclipse.jdt.core.prefs b/TestTim/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..679432a954a27f10b32db650a9818b1d8bc83522 --- /dev/null +++ b/TestTim/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=22 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=22 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=22 diff --git a/TestTim/src/module-info.java b/TestTim/src/module-info.java new file mode 100644 index 0000000000000000000000000000000000000000..a46c06dbe24306a1f0b1799190b1c38c45dfd97e --- /dev/null +++ b/TestTim/src/module-info.java @@ -0,0 +1,10 @@ +/** + * + */ +/** + * + */ +module TestTim { + + +} \ No newline at end of file