JScrollPane ignoriert JPanel mit überschriebener pai.nt()

Status
Nicht offen für weitere Antworten.
C

Cthulhu

Gast
Hey Leute,

seit 2 Stunden google ich nach einer Problemlösung aber ich find keine :(.

Habe in einer JTabbedPane ein JPanel in dem eine JScrollPane steckt, in der wiederum ein JPanel steckt, dessen paint()-Methode ich überschrieben habe.

Wenn nun das Gezeichnete größer ist als der sichtbare Bereich der JScrollPane, sollte sich die JScrollPane darum kümmern, dass das unsichtbare "erscrollbar" ist. Allerdings tut sie das nicht.

Sie wird zwar angezeigt (VERTICAL_SCROLLBAR_ALWAYS), allerdings denk ich, dass sie nicht weiß wie groß der gezeichnete Bereich in dem von ihr enthaltenen JPanel ist.

Wie teil ich ihr das mit?

Ich hoffe ihr könnt mir weiterhelfen.

tia

mfg

cthulhu
 
S

SlaterB

Gast
entscheidend dafür dürfte getPreferredSize() oder eine der ähnlichen Methoden sein,
sorge durch Überschreiben dafür, dass die die richtigen Werte zurückgeben

oder setze die Größe mit einem setPreferredSize()-Aufruf
 
C

Cthulhu

Gast
Habe die PreferredSize des integrierten JPanels bei jedem neuzeichnen gleich den gezeichneten Bereich gesetzt.
Es funktioniert! Danke :)

Allerdings ist jetzt noch ein zweite (schon teils erwartetes) Problem aufgetreten.

Ich habe der JScrollPane einen MouseListener zugewiesen, der quasi überprüfen soll wo man auf dem darunter liegenden JPanel hinklickt. Allerdings bekomme ich - natürlich - wenn gescrollt wurde falsche Werte.
Ich kann den MouseListener nicht dem JPanel hinzufügen, da ich ja auf die JScrollPane klicke und nichts aufs JPanel.

Wie bekomme ich absolute X- und Y-Werte bzgl. des JPanels raus?

Danke für die vorrangegangene und hoffentlich noch kommende Hilfe.

MfG

cthulhu
 
S

SlaterB

Gast
da musst du JScrollPane oder JViewPort genau nach Hilfsmethoden zur Postitionsberechnung absuchen,

habe auf die Schnelle
http://java.sun.com/javase/6/docs/api/javax/swing/JViewport.html#getViewPosition()

gefunden, das + Position der Maus im JScrollPane sollte die Posititon im JPanel ergeben
 
C

Cthulhu

Gast
Es funktioniert damit :D hab noch ein wenig herumparsen müssen, aber das wars.

Vielen Dank.

Du hast mir gerade einiges an Zeit erspart :).
 
G

Guest

Gast
Hey :(

das erste problem ist schon wieder aufgetreten und ich weiß nicht wie ich es lösen soll.

der "gzeichnete" Bereich meines JPanels ist größer als die größe der JScrollPane, welche mir keinen Scrollbalken anbietet.

Das einzige was ich verändert habe war, dass ich ein DropTarget erstellt hab für das JPanel.
Ich bin mir nicht sicher obs daran liegt, weil ich den Code den ich für das implementieren des Drag&Drops geschrieben habe ungern wieder auskommentieren will.

Es muss doch eine allgemeine Einstellung geben, wie:

JScrollPane überwache JPanel und zeige Scrollbalken, wenn Größe von JPanel > JScrollPane-Anzeigebereich

Bitte um Hilfe :(

tia

cthulhu

(der setPreferredSize-Command funktoiniert jetzt auch nicht mehr)
 
C

Cthulhu

Gast
Sry für den Doppelpost.

ADD: Das Jpanel implementiert Scrollable. Kann ich hier ansetzen und eine bestimmte Funktion überschreiben? :autsch: :meld:
 
C

Cthulhu

Gast
Code:
public class BoardPanel extends JPanel implements Scrollable
{

public Dimension getPreferredScrollableViewportSize() {
             return getPreferredSize();
           }
           
           public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) {
              return 0;
           }

           public boolean getScrollableTracksViewportHeight() {
              return true;
           }

           public boolean getScrollableTracksViewportWidth() {
              return true;
           }

           public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) {
              return 0;
           } 

public void paintComponent(Graphics g)
{
super.paintComponent(g);

//Diverse Zeichenoperationen
//Gezeichneter Bereich des BoardPanels kann verschieden groß sein
}

}

Eine Instanz von BoardPanel wird anschließen in eine JScrollPane geschmisse, die widerum, wenn das BoardPanel zu hoch ist, Scrollbalken einblenden soll. Wenn das BoardPanel zu breit ist, wird die Zeichnung in der paintComponent-Methode automatisch, platzfüllend angepasst.
 
C

Cthulhu

Gast
bin auf was draufgekommen, entferne ich das Interface Scrollable, kann ich zwar vertikal scrollen allerdings wird die Breite beim vergrößeren der JScrollPane (und somit auch die Breite des BoardPanels) immer nur größer, aber beim verkleinern der JScrollPane nie kleiner. -.-
 
C

Cthulhu

Gast
Problem gelöst ^^

hatte einen Berechnungsfehler in meiner paint-Methode.

Poste deswegen auch keine Lösung, weil ich nicht denke, dass derlei logische Fehler jemandem in dem Ausmaß unterlaufen werden.

Danke für die Hilfe ;)

Hier bekommt man echt schnell Hilfestellung.

MfG

cthulhu :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JscrollPane ignoriert ComponentOrientation AWT, Swing, JavaFX & SWT 5
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
B Swing JScrollPane scrollt nicht AWT, Swing, JavaFX & SWT 10
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
N Swing JScrollPane mit Tastatur bedienen? AWT, Swing, JavaFX & SWT 0
F JScrollPane anzeige AWT, Swing, JavaFX & SWT 7
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
P Swing JEditorPane in Kombination mit JScrollPane AWT, Swing, JavaFX & SWT 29
S Swing jScrollPane - pro Eintrag der Liste, die jCheckBoxes Speichern die in dem Eintrag aktiviert wurden AWT, Swing, JavaFX & SWT 2
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
MaxG. Swing JScrollPane AWT, Swing, JavaFX & SWT 10
Soloeco Swing JScrollPane AWT, Swing, JavaFX & SWT 6
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
B LayoutManager GridBagLayout und JScrollPane AWT, Swing, JavaFX & SWT 5
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
P MalProgramm mit JScrollPane und Canvas AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane Tabelle ändern (2 Tabellen) AWT, Swing, JavaFX & SWT 7
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
W Swing Größenänderung vom JPanel im JScrollPane und anschließendes positionieren AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
Bluedaishi JScrollpane AWT, Swing, JavaFX & SWT 0
L JScrollPane scrollt nicht !! AWT, Swing, JavaFX & SWT 3
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
R JScrollPane überdeckt JPanel? AWT, Swing, JavaFX & SWT 7
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
F JTable mit JScrollPane AWT, Swing, JavaFX & SWT 4
I JPanel in JScrollPane verkleinert sich leider nicht .... AWT, Swing, JavaFX & SWT 2
G JScrollPane bricht am Ende der Anzeige nicht um AWT, Swing, JavaFX & SWT 2
J Swing JTextPane mit JScrollPane auf JPanel scrollen nicht AWT, Swing, JavaFX & SWT 6
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
B Swing JPanel in JScrollPane einfügen AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Transparentes JScrollPane AWT, Swing, JavaFX & SWT 0
S 3D-Grafik 3d Grafik auf einem JPanel oder im JScrollPane AWT, Swing, JavaFX & SWT 1
R Ändern Default-Verhalten von JScrollpane in einer JScrollpane AWT, Swing, JavaFX & SWT 1
S JScrollPane --> Programm hängt sich beim scrollen auf AWT, Swing, JavaFX & SWT 2
A JScrollPane - ScrollBar Buttongröße verändern AWT, Swing, JavaFX & SWT 1
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
A Swing JScrollPane Problem AWT, Swing, JavaFX & SWT 6
H Swing JScrollPane mit "viel Inhalt" scrollt zu langsam (inkl. See-For-Yourself.jar :D) AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane in JScrollPane - Problem AWT, Swing, JavaFX & SWT 3
K Bug in JScrollPane? AWT, Swing, JavaFX & SWT 4
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
M JScrollPane Header AWT, Swing, JavaFX & SWT 3
G JScrollPane über JScrollPane AWT, Swing, JavaFX & SWT 2
V LayoutManager JScrollPane verwirft Elementanordnung AWT, Swing, JavaFX & SWT 3
B JScrollPane Problem AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane AWT, Swing, JavaFX & SWT 7
H cardlayout und jscrollpane AWT, Swing, JavaFX & SWT 14
F 2D-Grafik Skalieren der Scrollbars beim Zoomen einer JScrollPane AWT, Swing, JavaFX & SWT 4
B JScrollPane Horizontal klappt nicht. AWT, Swing, JavaFX & SWT 4
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
C jPanel auf jScrollPane zentrieren AWT, Swing, JavaFX & SWT 3
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
A Swing Korrekte JTable.rowAt(point) für JTable in JScrollPane AWT, Swing, JavaFX & SWT 5
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
S JScrollPane reagiert nicht AWT, Swing, JavaFX & SWT 3
X JScrollPane zu JTable hinzufügen AWT, Swing, JavaFX & SWT 16
H JScrollPane - JEditorPane und HTML-Tabelle AWT, Swing, JavaFX & SWT 2
D LayoutManager JScrollPane mit dynamischem Inhalt AWT, Swing, JavaFX & SWT 8
P Swing JScrollpane AWT, Swing, JavaFX & SWT 2
B JScrollPane scrollt nicht immer automatisch AWT, Swing, JavaFX & SWT 2
V Swing JScrollPane Viewport verschieben AWT, Swing, JavaFX & SWT 2
J JScrollPane Probleme AWT, Swing, JavaFX & SWT 3
S Swing JScrollPane verliert Scrollbars AWT, Swing, JavaFX & SWT 5
D Swing JTable in JScrollpane beliebig verbreitern AWT, Swing, JavaFX & SWT 5
A Swing Anzeige Text in JScrollpane AWT, Swing, JavaFX & SWT 8
J Swing Unteren Abstand für JTable in JScrollPane festlegen AWT, Swing, JavaFX & SWT 10
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
M JScrollPane Problem AWT, Swing, JavaFX & SWT 6
S Swing JScrollpane und ViewPort AWT, Swing, JavaFX & SWT 4
D JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 12
X JScrollPane funzt net... AWT, Swing, JavaFX & SWT 5
H jscrollpane AWT, Swing, JavaFX & SWT 12
RELAXccc Swing JTree + JScrollPane, refresh Problem AWT, Swing, JavaFX & SWT 17
A Problem mit JScrollPane in einer JScrollpane AWT, Swing, JavaFX & SWT 4
B JScrollPane Problem AWT, Swing, JavaFX & SWT 25
T Swing JScrollPane- und Tabelle-Header Problem AWT, Swing, JavaFX & SWT 25
P Swing JScrollPane-Inhalt: Grösse anpassen AWT, Swing, JavaFX & SWT 6
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
A JScrollPane AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben