Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe eine JComponent und ich will an der Komponente will ich zwei Lineale anbringen. Darin befinden sich kleine Markierungen die dem Mauszeiger folgen.
Ffüge der Komponente einen MouseMotionListener an und überschreibe da mouseDragged und mouseMoved. Diese müssen dann die beiden Striche an die richtige Position bringen.
Für die Lineale fällt mir nur ein BorderLayout ein. Dann links und oben die Lineale als Grafik rein und im Center den Content. Geht allerdings dann nur bei einer festen Fenstergröße, es sei denn du machst die Grafiken so lang bzw. breit das sie bei maximaler Fenstergröße ausreichen.
Du könntest die Komponente in eine JScrollPane packen. Die Lineale kann man dann als eigenständige Komponenten in den Bereich ColumnHeader bzw. RowHeader des ScrollPanes einfügen, hierfür kannst Du entweder die Lineale als Bild einfügen oder selber zeichnen in der paintComponent(Graphics g) der jeweiligen Komponenten. Ich würde letztere Variante bevorzugen, da man sich m.M. dann beim zoomen - sofern sowas überhaupt angedacht ist - leichtert tut. Ausserdem musst Du die Markierungen für die Mauszeiger position sowieso in der oben erwähnten Methoden selbst zeichnen.
Ist nicht sonderlich schwer - allerdings für Anfänger vermutlich nicht ganz leicht.
Man könnte das ganze sicherlich auch mit dem BorderLayout hinkriegen. Aber spätestens wenn man dann noch den Bereich zoomen und verschieben will, tut man sich mit JScrollPane leichter - ist ja auch für solche Fälle gemacht.
Ja, es ist besser ein JPanel oder JComponent zu verwenden, um darauf zu malen und diese Komponente dann einzufügen - zumal JScrollPane aus mehreren Komponenten besteht und man dann schon die richtige erwischen muss, um drauf zu zeichnen.