ScrollPane passt sich nicht an

Status
Nicht offen für weitere Antworten.
N

NickK

Gast
Hallo zusammen,

ich habe ein sehr nerviges Problem.

Ich erstelle eine ScrollPane und möchte mit der Paint-Methode beispielsweise 500
Wörter untereinanderschreiben.
Die ScrollPane soll sich natürlich anpassen.
Nun das Problem:
Die ScrollPane passt sich erst dann an, wenn ich mit der Maus die Größe des Fenster ändere.

Ich vermute, dass in der Klasse Viewer(Siehe Code) getPreferredSize nur am Anfang aufgerufen wird.

Zur Veranschaulichung noch kurz der Code:
Code:
import java.awt.*;
import java.awt.event.*;

public class Example2210
extends Frame
{ 
    
    public static void main(String[] args)
    {
        
        Example2210 wnd = new Example2210();
        wnd.setLocation(200,100); //Windowsposition festlegen
        wnd.setVisible(true); 
    } 
    
    public Example2210()
    {
        super("Example2210");
        setBackground(Color.WHITE);
        //ScrollPane für die automatische Anpassung der Scrollbar
        ScrollPane sc = new ScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED); 
        sc.add(new Viewer()); 
        sc.getVAdjustable().setUnitIncrement(1);
        sc.getHAdjustable().setUnitIncrement(1); 
        sc.setSize(200,200); //Startgröße festlegen 
        add(sc); 
        sc.setPreferredSize(new Dimension(200,700)); 
        add(sc);
        
        //Window-Listener
        addWindowListener(
        new WindowAdapter() {
            public void windowClosing(WindowEvent event)
            {
                setVisible(false);
                dispose();
                System.exit(0);
            }
        }
        );
        //Dialogelement anordnen
        
        pack(); 
        
    }
}
class Viewer
extends Canvas
{
    
    int i;
    
    public void paint(Graphics g)
    { 
        for(i = 0; i<500; i++)
        {
             g.drawString("hallo" + i,30,30+20*i);
        } 
        
    }
    
    public Dimension getPreferredSize()
    { 
        
        return new Dimension(150,16 + i* 20); //Pro zeile müssen 20 zur Verfügung gestellt werden 
        
    }
    
}


Ich hoffe Ihr könnt mir helfen.

Vielen Dank schonmal im Voraus.

Schöne Grüße aus Regensburg
 
N

NickK

Gast
Hallo nochmal,

ich habe in der Klasse Example2210 ein bischen rumgespielt und ausprobiert.
Deswegen steht da z.B
Code:
sc.setSize(200,200); //Startgröße festlegen 
add(sc); 
sc.setPreferredSize(new Dimension(200,700)); 
add(sc);
Also bitte nicht wundern :D

Schöne Grüße
 

Wildcard

Top Contributor
Das ist doch Unsinn:
Code:
    public Dimension getPreferredSize()
    {
       
        return new Dimension(150,16 + i* 20); //Pro zeile müssen 20 zur Verfügung gestellt werden
       
    }
Der Schleifencounter ist doch kein Member der Klasse. Deklariere i in der Schleife und in getPreferredSize nimmst du dann 500.
 
G

Guest

Gast
Hallo Wildcard,

erstmal vielen Dank für deine Antwort.

Des Problem ist, dass ich vorher nicht weiß wieviele Einträge ich habe.

Wenn ich natürlich wüsste, dass ich 500 Einträge hätte, wäre das Alles kein Problem.

Die Dimension des Fensters müsste sich also von selbst anpassen, ohne

irgendwelche Vorgaben. Wenn ich die Fenstergröße mit der Maus ändere funktionierts ja auch...

Das Frame wird quasi ohne Scrollbar geöffnet und sobald ich mit der Maus die Fenstergröße ändere,

entsteht eine horizontale und vertikale Scrollbar.

Warum nich von Anfang an mit passender Scrollbar?


Mit freundlichen Grüßen

Nick
 

Wildcard

Top Contributor
Was du da tust ist insofern unsinnig, da die paint Methode immer komplett durchgelaufen wird. Es gibt da keine Zwischenstände zwischen 0 und 500 also kannst du es dir gleich sparen.
Wenn das Problem das du eigentlich lösen willst ein anderes ist, dann beschreibe das Problem entsprechend.
Ausserdem solltest du unbedingt Swing verwenden, AWT hat graue Haare.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E GridLayout auf ScrollPane AWT, Swing, JavaFX & SWT 4
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
TheWhiteShadow JavaFX ScrollPane nimmt nicht genug platz ein AWT, Swing, JavaFX & SWT 3
J Gridpane Breite in Scrollpane automatisch anpassen AWT, Swing, JavaFX & SWT 2
E JavaFX Cursor-Position im ScrollPane AWT, Swing, JavaFX & SWT 0
E Swing Liste in Scrollpane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
C JavaFX ScrollPane schießt über das Ziel hinaus... AWT, Swing, JavaFX & SWT 1
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
T JavaFX Zoom in ScrollPane AWT, Swing, JavaFX & SWT 1
L Java FX Scrollpane automatisch resizen AWT, Swing, JavaFX & SWT 3
P Java ScrollPane und ViewPort AWT, Swing, JavaFX & SWT 2
M JavaFX Scrollpane: Style von Contentpanel default AWT, Swing, JavaFX & SWT 1
S JavaFX Image Skalierung in Scrollpane, Scrollpane resized sich nicht AWT, Swing, JavaFX & SWT 5
V Netbeans: TabbedPane, ScrollPane und Graphics AWT, Swing, JavaFX & SWT 4
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
O ScrollPane AWT, Swing, JavaFX & SWT 2
W JavaFX Scrollpane elementweise scrollen AWT, Swing, JavaFX & SWT 4
M SWT ScrollPane Größe zu klein AWT, Swing, JavaFX & SWT 6
Z Swing Welcher Layoutmanager bei ScrollPane? AWT, Swing, JavaFX & SWT 4
S ScrollPane in Textarea und auf Panel AWT, Swing, JavaFX & SWT 4
Bluedaishi Synchrone ScrollPane trennen AWT, Swing, JavaFX & SWT 2
G JTable als fixierte Spalte in Scrollpane scrollt nicht mit... AWT, Swing, JavaFX & SWT 1
M MouseListener auf table oder scrollPane AWT, Swing, JavaFX & SWT 11
W Swing Nicht-Editierbares Textfeld in Panel in ScrollPane AWT, Swing, JavaFX & SWT 9
W Swing Zum Ende einer Scrollpane scrollen AWT, Swing, JavaFX & SWT 2
S Bestimmten Bereich eines Bildes im JFrame mit Scrollpane anzeigen AWT, Swing, JavaFX & SWT 0
Kenan89 Vertikal und horizontal zentrierter Pane in ScrollPane AWT, Swing, JavaFX & SWT 5
Kenan89 Java FX ScrollPane Content mittig setzen AWT, Swing, JavaFX & SWT 5
P ScrollPane nach zeichnen dynamisch resize AWT, Swing, JavaFX & SWT 7
O Swing GroupLayout und Scrollpane AWT, Swing, JavaFX & SWT 3
T scrollpane taucht nicht auf AWT, Swing, JavaFX & SWT 6
D Zoom zur Mouseposition in ScrollPane AWT, Swing, JavaFX & SWT 5
F AWT ScrollPane Problem AWT, Swing, JavaFX & SWT 3
S Swing Bild in JPanel in ScrollPane neu zeichnen AWT, Swing, JavaFX & SWT 2
S Canvas in ScrollPane wird beim scrollen immer neu gezeichnet AWT, Swing, JavaFX & SWT 3
D JTable in Scrollpane AWT, Swing, JavaFX & SWT 3
H ScrollPane AWT, Swing, JavaFX & SWT 3
0 JTable im ScrollPane AWT, Swing, JavaFX & SWT 3
S Swing Scrollpane und JTables AWT, Swing, JavaFX & SWT 6
D Swing JList: ScrollPane auf JPanel ansprechen AWT, Swing, JavaFX & SWT 7
Spin JTable Header wird nicht angezeigt ohne ScrollPane AWT, Swing, JavaFX & SWT 3
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4
_dp Swing ScrollPane unterschlägt Großteil der Tabelle AWT, Swing, JavaFX & SWT 7
T ScrollPane Lösgelöst vom JPanel?!? AWT, Swing, JavaFX & SWT 4
D Panel zu Scrollpane adden AWT, Swing, JavaFX & SWT 8
T LayoutManager Panel in Scrollpane mittig ausrichten AWT, Swing, JavaFX & SWT 2
E JList in ScrollPane auf größe bringen AWT, Swing, JavaFX & SWT 5
A ScrollPane + internalFrame AWT, Swing, JavaFX & SWT 2
H ScrollPane scrollt ungefragt drauf los! AWT, Swing, JavaFX & SWT 5
T ScrollPane scrollt nicht einwandfrei AWT, Swing, JavaFX & SWT 3
G ScrollPane: getPreferredSize() AWT, Swing, JavaFX & SWT 11
M Labels in ScrollPane mit Linie verbinden AWT, Swing, JavaFX & SWT 2
P ScrollPane klappt zusammen beim verkleinern des Frames AWT, Swing, JavaFX & SWT 2
S Swing JTree in ScrollPane einen ToolTip geben AWT, Swing, JavaFX & SWT 2
T ScrollBar aus ScrollPane verstecken AWT, Swing, JavaFX & SWT 2
N ScrollPane in ein Fenster einfügen AWT, Swing, JavaFX & SWT 2
D ScrollPane Anpassungen AWT, Swing, JavaFX & SWT 7
M Problem mit jPanel (FlowLayout) in ScrollPane AWT, Swing, JavaFX & SWT 4
K TextArea auf Scrollpane AWT, Swing, JavaFX & SWT 3
G Tabellenköpfe trotz Scrollpane ausschalten AWT, Swing, JavaFX & SWT 5
P Automatisches Mitscrollen der ScrollPane AWT, Swing, JavaFX & SWT 2
M Problem beim Einsatz von ScrollPane (Fenster spielt verrückt AWT, Swing, JavaFX & SWT 2
R ImageViewer - Bild mit ScrollPane AWT, Swing, JavaFX & SWT 4
K Row und ColumnHeader in ScrollPane werden "verwischt&qu AWT, Swing, JavaFX & SWT 4
F Resize in ScrollPane AWT, Swing, JavaFX & SWT 4
M Swing: ScrollPane Button mit Pfeil ändern wie? AWT, Swing, JavaFX & SWT 2
F Scrollpane scrollt immer zur TextArea AWT, Swing, JavaFX & SWT 8
vogella JTable und JScrollPane - ScrollPane immer in der Mitte AWT, Swing, JavaFX & SWT 2
B Komponenten über ScrollPane hinaus angezeigt. AWT, Swing, JavaFX & SWT 3
S JTable (Scrollpane und ColumnNames) und JComboBox AWT, Swing, JavaFX & SWT 2
T Warum keine ScrollBars in diesem ScrollPane? AWT, Swing, JavaFX & SWT 3
A Scrollspeed bei Scrollpane erhöhen? AWT, Swing, JavaFX & SWT 2
A Scrollpane verschmiert beim scrollen AWT, Swing, JavaFX & SWT 5
P Resize von ScrollPane Inhalten AWT, Swing, JavaFX & SWT 2
S ScrollPane zeigt scrollbalken nicht an AWT, Swing, JavaFX & SWT 12
S Problem mit Scrollpane & Bild AWT, Swing, JavaFX & SWT 3
A JTable in ScrollPane scrollt nicht horizontal AWT, Swing, JavaFX & SWT 2
M JMenu verschwindet unter ScrollPane AWT, Swing, JavaFX & SWT 3
G jTable + ScrollPane (+ TableModel) AWT, Swing, JavaFX & SWT 7
G ScrollPane anfärben AWT, Swing, JavaFX & SWT 2
E Ärger mit ScrollPane, JTable und der Resize-Einstellung AWT, Swing, JavaFX & SWT 2
J Inhalt eines Scrollpane speichern AWT, Swing, JavaFX & SWT 3
M Eigen gemaltes JPanel im ScrollPane. klappt nicht. :-( AWT, Swing, JavaFX & SWT 10
M Wo bleibt mein ScrollPane? AWT, Swing, JavaFX & SWT 3
D Probleme mit TableLayoutManager und ScrollPane AWT, Swing, JavaFX & SWT 3
M Problem bei Verbinden v. jTable, ScrollPane u. JLabel AWT, Swing, JavaFX & SWT 5
G Anwendung um Scrollpane erweitern AWT, Swing, JavaFX & SWT 2
G Scrollpane in null-Layout einfügen AWT, Swing, JavaFX & SWT 5
N Frame in ScrollPane einfügen AWT, Swing, JavaFX & SWT 5
J Balken von ScrollPane immer unten AWT, Swing, JavaFX & SWT 6
Z Probleme mit eigenem Canvas und ScrollPane AWT, Swing, JavaFX & SWT 8
J BackgroundJPanel passt sich dem JFrame nicht an AWT, Swing, JavaFX & SWT 7
M LayoutManager GridBagLayout passt seine größe nicht an AWT, Swing, JavaFX & SWT 3
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
D SWT Window passt Größe nicht an AWT, Swing, JavaFX & SWT 4
U ToolTip Größenänderung, passt sich erst beim zweiten Mal an AWT, Swing, JavaFX & SWT 6
S Rahmen um Panel passt sich nicht ans Layout an AWT, Swing, JavaFX & SWT 3
velocity Swing JList Scrollbar passt sich an AWT, Swing, JavaFX & SWT 4
hdi Swing JLabel - Grösse passt sich immer Text an AWT, Swing, JavaFX & SWT 17
X Wie passt JIternalFrame sich den anderen Fenstern an? AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben