Punkt bewegt sich auf einer Ellipse

hedro

Mitglied
kann jemand mir helfen bei diesem Aufgabe

die Aufgabe besteht darin, einen Punk mit Hilfe eines Scheibe Reglers auf einer Ellipse zu bewegen

mfg hedro
 

White_Fox

Top Contributor
Vielleicht: Die Position des Drehknopfes relativ zu Anfangs- und Endpunkt auf einen Kreis abbilden?

Regler = 0 -> Winkel 0
Regler = 0,25 -> Winkel π/2,
...
Regler = 1 -> Winkel 2π
 

hedro

Mitglied
ich habe das gemacht aber wie kann ich das punkt bewegen auf die Ellipse wenn ich den Schieberegler bewege ?

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Event;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.KeyStroke;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;


public class ellipse extends JFrame implements ChangeListener
{


double x = 100;
Leinwand meineLeinwand = new Leinwand();
JSlider meinSlider = new JSlider(0, 400, 0);
JPanel meinPanel = new JPanel(new BorderLayout());

public ellipse() {
super("Slider");
JMenuBar menubar = new JMenuBar();

JMenu menu1 = new JMenu("Edit");
JMenu menu2 = new JMenu("Gestaltung");
JMenu menu3 =createFileMenu();
menubar.add(menu3);
menubar.add(menu1);
menubar.add(menu2);


JMenuItem item1 = new JMenuItem("Copy");
JMenuItem item2 = new JMenuItem("Paste");
JMenuItem item3 = new JMenuItem("Delete");
menu1.add(item1);
menu1.add(item2);
menu1.addSeparator();
menu1.add(item3);



JMenu item4 = new JMenu("Ellipse_Farbe");
JMenu item5 = new JMenu("Hintergrund_Farbe");
JMenuItem item6 = new JMenuItem("Rot");
JMenuItem item7 = new JMenuItem("Gruen");
JMenuItem item8 = new JMenuItem("Blau");
item4.add(item6);item4.add(item7);item4.add(item8);
JMenuItem item9 = new JMenuItem("Rot");
JMenuItem item10 = new JMenuItem("Gruen");
JMenuItem item11 = new JMenuItem("Blau");
item5.add(item9);item5.add(item10);item5.add(item11);
menu2.add(item4);
menu2.add(item5);

setJMenuBar(menubar);
meineLeinwand.setSize(400, 400);
meineLeinwand.setForeground(Color.red);

meinSlider.addChangeListener(this);
meinPanel.add(meinSlider, BorderLayout.SOUTH);
meinPanel.add(meineLeinwand, BorderLayout.CENTER);
getContentPane().add(meinPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.lightGray);
setSize(500, 500);
setLocation(400, 200);
setVisible(true);
}

public void stateChanged(ChangeEvent e) {
JSlider sl = (JSlider) e.getSource();
x = sl.getValue();
meineLeinwand.repaint(x);
}

public static void main(String[] args) {
new ellipse();

}

private JMenu createFileMenu() {
JMenu ret = new JMenu("Datei");
ret.setMnemonic('D');
JMenuItem mi;
//Öffnen
mi = new JMenuItem("Oeffnen", 'f');
setCtrlAccelerator(mi, 'O');
ret.add(mi);
//Speichern
mi = new JMenuItem("Speichern", 'p');
setCtrlAccelerator(mi, 'S');
ret.add(mi);
//Separator
ret.addSeparator();
//Beenden
mi = new JMenuItem("Beenden", 'e');
ret.add(mi);
return ret;
}
private void setCtrlAccelerator(JMenuItem mi, char acc) {
KeyStroke ks = KeyStroke.getKeyStroke(
acc, Event.CTRL_MASK );
mi.setAccelerator(ks);
}
private class Leinwand extends JPanel
{
double x;
public void paintComponent(Graphics g)
{
super.paintComponent(g);

g.setColor(Color.magenta);
g.fillOval((int)(this.getWidth()/2 -3 ), (int)((this.getHeight()/2 -3 - 25)-x/2), 6, 6);
g.setColor(Color.RED);
g.drawOval((int)((this.getWidth()/2 -50 )-x/2), (int)((this.getHeight()/2 -25)-x/2), (int) (100 + x), (int) (50 + x));
//g.fillOval((int)((this.getWidth()/2 -50)-x/2), (int)((this.getHeight()/2 -25)-x/2), (int) (100 + x), (int) (50 + x));

System.out.println(x);
//System.out.println(this.getWidth());
//System.out.println(this.getHeight());

}

public void repaint(double x)
{
this.x = x;
repaint();
System.out.println(x);
}
}
}
 

mihe7

Top Contributor
Mal ein Beispiel:
Java:
import java.awt.*;
import javax.swing.*;

public class Test {
    static class Leinwand extends JComponent {
        int largeHalfAxis = 50;
        int smallHalfAxis = 25;
        int knobRadius = 3;
        double knobAngle = 0;

        public void setAngle(double angle) {
            knobAngle = angle;
            repaint();
        }

        public double getAngle() { return knobAngle; }

        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);

            int cx = this.getWidth() / 2;
            int cy = this.getHeight() / 2;

            g.setColor(Color.RED);
            g.drawOval(cx - largeHalfAxis, cy - smallHalfAxis, 2*largeHalfAxis, 2*smallHalfAxis);
            
            int x = (int) (largeHalfAxis*Math.cos(knobAngle));
            int y = (int) (smallHalfAxis*Math.sin(knobAngle));
            
            g.setColor(Color.magenta);
            g.fillOval(cx - x - knobRadius, cy - y - knobRadius, 2*knobRadius, 2*knobRadius);
        }
    }

    public void run() {
        Leinwand leinwand = new Leinwand();

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(leinwand);
        frame.setSize(800, 600);
        frame.setVisible(true);

        final long start = System.currentTimeMillis();
        Timer t = new Timer(30, e -> {
            long diff = (System.currentTimeMillis() - start) % 2000;
            leinwand.setAngle(diff*2*Math.PI/2000.0);
        });
        t.start();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new Test().run());
    }
}

Viel Spaß damit.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Anker Punkt setzen. Java Basics - Anfänger-Themen 1
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
JavaBeginner22 Punkt auf Gerade Java Basics - Anfänger-Themen 59
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
P Datentypen Kann ich bei double Komma statt Punkt eingeben? Java Basics - Anfänger-Themen 14
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
E Erste Schritte Vorschläge für mich zum Thema Punkt vor Strich ? Java Basics - Anfänger-Themen 7
Z Double in komma und Punkt akzeptieren -> Robusteeingabe Java Basics - Anfänger-Themen 7
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Punkt in Java zeichnen Java Basics - Anfänger-Themen 14
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
R Double: auf einmal Komma statt Punkt Java Basics - Anfänger-Themen 4
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
K Methoden contains()-Methode für Punkt in Polygon Java Basics - Anfänger-Themen 5
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
R ArrayList<String> Komma oder Punkt "replacen" Java Basics - Anfänger-Themen 5
C Punkt oder Kommanotation. Java Basics - Anfänger-Themen 7
B Kreis,Punkt,Zylinder Java Basics - Anfänger-Themen 6
A Eine Frage zu AWt in JAVA, wie wähle ich ein Punkt aus`? Java Basics - Anfänger-Themen 4
H sprung zu einem anderen punkt im script Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
TheKing Objekt um Punkt kreisen lassen Java Basics - Anfänger-Themen 7
W Regex mit Punkt Java Basics - Anfänger-Themen 2
T Punkt zeichnen auf sinus Java Basics - Anfänger-Themen 7
T mehrere methoden durch punkt getrennt Java Basics - Anfänger-Themen 2
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
G Punkt auf Bildschirm erstellen? Java Basics - Anfänger-Themen 14
G bei double nur Wert vor Punkt ausgeben Java Basics - Anfänger-Themen 6
T Wie Eingabe von Gleitkommazahl mit Komma statt Punkt Java Basics - Anfänger-Themen 4
B Bestimmten Punkt im KOS ermitteln Java Basics - Anfänger-Themen 14
W Punkt statt Komma? Java Basics - Anfänger-Themen 2
G Punkt bz. Kugel Java Basics - Anfänger-Themen 6
K AWT: Punkt (0,0) hinter Titelzeile oder 'getTitelzeilenhöhe' Java Basics - Anfänger-Themen 5
G contains - Punkt in Kreis enthalten? Java Basics - Anfänger-Themen 6
CptK Klassen mouseClicked wird nicht aufgerufen, während man die Maus bewegt Java Basics - Anfänger-Themen 4
CptK Interface JLabel bewegt sich nicht sondern teleportiert sich... Java Basics - Anfänger-Themen 3
F MouseMotionListener - Objekt bewegt sich nicht Java Basics - Anfänger-Themen 1
P Threads Objekt bewegt sich nicht. Java Basics - Anfänger-Themen 12
G zwei Objekte bewegen - der eine bewegt sich nicht flüssig? Java Basics - Anfänger-Themen 10
L Pfeil bewegt sich nicht Java Basics - Anfänger-Themen 7
L Kreis der sich bewegt Java Basics - Anfänger-Themen 11
Z Applet text der sich von links nsch rechts bewegt Java Basics - Anfänger-Themen 3
L Warum bewegt sich des ding net Java Basics - Anfänger-Themen 3
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
E multiple Timer die sich nicht summieren Java Basics - Anfänger-Themen 12
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Konsolenausgabe verschiebt sich Java Basics - Anfänger-Themen 8
M Wie lassen sich Konstanten in Bedingung stellen? Java Basics - Anfänger-Themen 1
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
H 36 Zufallszahlen die sich nicht wiederholen Java Basics - Anfänger-Themen 27
E Warum lässt sich eine Klasse nicht starten, wenn eine andere Klasse in dem Modul fehlerhaft ist? Java Basics - Anfänger-Themen 1
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
J CMD schließt sich automatisch Java Basics - Anfänger-Themen 5
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
M Werte ändern sich nicht mehr nach Reset Java Basics - Anfänger-Themen 14
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
I Klassen Eine ArrayList<Long>, die sich automatisch sortiert Java Basics - Anfänger-Themen 20
Franzi1001 ScrollBar lässt sich nicht bewegen Java Basics - Anfänger-Themen 4
W Client verbindet sich nicht Java Basics - Anfänger-Themen 14
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
J Zwei Klassen die sich gegenseitig referenzieren - Bad practice? Java Basics - Anfänger-Themen 4
N Bewegtes Objekt soll sich um eine Parallele bewegen Java Basics - Anfänger-Themen 0
K Zufalsszahl soll sich nicht wiederholen Java Basics - Anfänger-Themen 9
C Classpath Compiler lässt sich nur bedingt von Kommandozeile aus starten Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben