Scroll-Leiste einfügen

Hallo! WIr möchten eine Scrollleiste in unsere Klasse einfügen. Wir wissen jedoch nicht wie. Die Klasse wird durch das Klicken auf einen Button aufgerufen. Wir haben schon probiert dier Scrolleiste selbst einzufügen, jedoch passiert einfach nichts.

Java:
package berechnung;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.ScrollPane;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JFrame;


import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;


public class HilfeFenster extends JFrame{
    private BufferedImage img;
    public JScrollPane scroll = new JScrollPane(
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
   
    public HilfeFenster() {
        setDefaultCloseOperation(HIDE_ON_CLOSE);
        setTitle("Hilfe");
        setLayout(new BorderLayout(5, 5));
        int maxWidth = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
        int width = Math.min(734, maxWidth);
        setSize(width, 400);
        setMinimumSize(new Dimension(width, 700));
        scroll.setVisible(true);
    }
   
   


   
    public void paint(Graphics g){
        ClassLoader cl = HilfeFenster.class.getClassLoader();
        try {
            img = ImageIO.read(cl.getResourceAsStream("Bilder/HilfeFensterBild.png"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        g.drawImage(img, 0, 0, 734, 959, null);
   
    }

}
 

Salo

Aktives Mitglied
habt ihr eine add(scroll) methodeeingefügt?
Oder braucht man das bei scroll leisten etwa nicht?
Oder hab ich die methode übersehen?
 

Salo

Aktives Mitglied
Wir wissen eleider nicht wo und wie :-(
Wie viele objekte habt ihr denn auf eurem JFrame?
Bestimmt nur eines, denn dort kann man nur eines "drauf tun".
Ihr solltet ein JPanel erstellen, das ihr dann mit der add() methode im konstruktor hinzufügt, und dann auf das JPanel den rest drauf tut.
Java:
public class PanelTester extends JFrame{
    JPanel panel;
    // andere felder
   
    public PanelTester() {
        panel = new JPanel();
        panel.add(/*all other stuff*/);
        this.add(panel);
    }
}

EDIT: ne sorry, andersrum, erst die componenten auf das panel, und dann das panel auf'n frame.
 
Zuletzt bearbeitet:

Salo

Aktives Mitglied
was verstehst du denn nicht?
Oder schreibst du das halt weil du code willst?;););)
Aber das würde dann kosten.:);)

eure klasse heißt halt HilfeFenster, meine, die ich geschrieben habe halt PanelTester.

EDIT: Sorry, ihr natürlich.
 
WIr haben es mal probiert umzusetzen, leider funktioniert es immer noch nicht :-(
Java:
package berechnung;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.ScrollPane;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.swing.JLabel;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;


public class HilfeFensterScroll extends JFrame{
    JPanel panel;
    private BufferedImage img;
    public JScrollPane scroll = new JScrollPane(
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
   
    public HilfeFensterScroll() {
       
        panel = new JPanel();
        panel.add(new JScrollPane(), BorderLayout.CENTER);
          
       
        setDefaultCloseOperation(HIDE_ON_CLOSE);
        setTitle("Hilfe");
        setLayout(new BorderLayout(5, 5));
        int maxWidth = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
        int width = Math.min(734, maxWidth);
        setSize(width, 400);
        setMinimumSize(new Dimension(width, 700));
        scroll.setVisible(true);
   
        this.add(panel);
       
    }
   


   
    public void paint(Graphics g){
        ClassLoader cl = HilfeFensterScroll.class.getClassLoader();
        try {
            img = ImageIO.read(cl.getResourceAsStream("Bilder/HilfeFensterBild.png"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        g.drawImage(img, 0, 0, 734, 959, null);
       
    }

}
 

Salo

Aktives Mitglied
Sorry, ich hab euch jetzt warscheinlich föllig durcheinander gebracht. ( Ich hatte wider vergessen wie man dise dinger handhabt)
wenn man den konstrukter der Scrollpane aufruft, dann übergibt man das objekt, andem sie nacher angebracht sein soll. Das bedeutet:
Java:
public class ScrollPaneDemo {
    JPanel panel;
    JScrollPane jSP;
    BufferedImage img;

    public ScrollPaneDemo() {
        this.img = new BufferedImage();
        this.panel = new JPanel();
      
        this.jSP = new JScrollPane(new JLabel(img)); // bzw. add img
        this.panel.add(jSP);
        this.add(panel);
    }
}
 
Zuletzt bearbeitet:
Wir haben es jetzt nochmal auf eine andere Art und Weise probiert, leider wird aber das Bild nicht angezeigt. Weiß jemand Rat?

Java:
package berechnung;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;

public class HilfeFensterScroll extends JFrame {
    public HilfeFensterScroll() {
    super("Hilfe");
    ImageIcon ii = new ImageIcon("HilfeFensterBild.jpg");
    JScrollPane jsp = new JScrollPane(new JLabel(ii));
    getContentPane().add(jsp);
    setSize(600    , 400);
    setVisible(true);
  }

  }
 

Harry Kane

Top Contributor
Zum ersten Versuch:
Ihr habt die JScrollPane so konfiguriert, dass die Scrollbars nur bei Bedarf angezeigt werden, d. h. nur dann wenn die View größer ist als die JScrollPane. Gleichzeitig hatte die JScrollPane aber keine View. Deswegen gab es auch keine Scrollbars. Ausserdem habt ihr die paint-methode vom JFrame überschrieben, d. h. egal was sich auf/in dem JFrame befunden hätte, es wäre eh nicht gezeichnet worden.
Zum letzten Versuch:
Der Ansatz funktioniert bei mir. Wenn das Bild nicht erscheint, sehe ich zwei Möglichkeiten:
1. Das Bild wird nicht korrekt geladen (falscher Pfad, falsche Endung, wasauchimmer).
2. Ihr habt die HilfeFensterScroll-Klasse nicht komplett gepostet und ev. immer noch die überschriebene paint-Methode drin.
Eine genauere Ursachenforschung ist von hier aus aber nicht möglich.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G bild scroll leiste Java Basics - Anfänger-Themen 3
Encera Scene Builder Scroll Bar Java Basics - Anfänger-Themen 4
C Scroll per Maus Java Basics - Anfänger-Themen 2
U Buttons einfügen (Leiste verschwunden!?) Java Basics - Anfänger-Themen 2
Hilde22 Neu Start JButton einfügen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
melaniemueller setCharAt Leerzeichen zusätzlich einfügen Java Basics - Anfänger-Themen 8
S Algorithmus Datensätze einfügen wenn... Java Basics - Anfänger-Themen 26
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
Gaudimagspam Attribute einfügen private Java Basics - Anfänger-Themen 3
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
R Inventar und Items auf ein 2D ArrayFeld einfügen Java Basics - Anfänger-Themen 2
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
E Datentypen Einfügen von Objekten in eine Map Java Basics - Anfänger-Themen 2
O Naives links rechts einfügen in ADT Baum Java Basics - Anfänger-Themen 8
O BinärBaum einfügen Java Basics - Anfänger-Themen 13
M Sqlite table löschen und daten einfügen Java Basics - Anfänger-Themen 5
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
M Klasse in JTable einfügen Java Basics - Anfänger-Themen 7
J In einer Klasse ein AlertDialog einfügen Java Basics - Anfänger-Themen 4
S Elemente in Liste einfügen Java Basics - Anfänger-Themen 2
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
x-tshainge Java Bilder einfügen Java Basics - Anfänger-Themen 1
T Variablen “ in String einfügen Java Basics - Anfänger-Themen 1
Orkanson Objekte in ein Array einfügen Java Basics - Anfänger-Themen 5
S Doppelte Liste Einfügen Java Basics - Anfänger-Themen 1
X Objekte in ArrayList einfügen Java Basics - Anfänger-Themen 10
jaleda100 JTextArea Zeile einfügen Java Basics - Anfänger-Themen 1
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
D B-Baum einfügen und löschen Java Basics - Anfänger-Themen 2
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
JavaNewbie2.0 Tausende Wörter in Arrays automatisch einfügen Java Basics - Anfänger-Themen 10
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
F In LinkedList einen Wert ersetzen oder neu einfügen Java Basics - Anfänger-Themen 7
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
U Sound einfügen Java Basics - Anfänger-Themen 6
P String zerstückeln und in Excel einfügen Java Basics - Anfänger-Themen 11
J Objecte in TreeSet einfügen klappt nicht Java Basics - Anfänger-Themen 5
P Variablen Wie kann ich eine lokale Variable in eine andere Methode einfügen? Java Basics - Anfänger-Themen 27
S Bild einfügen Java Basics - Anfänger-Themen 16
D Taschenrechnerereignisse einfügen Java Basics - Anfänger-Themen 18
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
W Listenelement einfügen Java Basics - Anfänger-Themen 9
P OOP Eingabevariablen der Klasse Raum in der Methode addEvent ans Ende einer ArrayList einfügen Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
D Datenbankzugriff - Leere Zeile einfügen Java Basics - Anfänger-Themen 2
GadgetSofa IOException fehlt aber wo einfügen? Java Basics - Anfänger-Themen 6
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
A Objekte in eine Liste einfügen Java Basics - Anfänger-Themen 7
J Methoden Einfügen von Objekten nach Alphabet in ArrayList funktioniert nicht Java Basics - Anfänger-Themen 2
S jList --> Array einfügen und Liste löschen Java Basics - Anfänger-Themen 5
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
F Collections Sortierung und Einfügen von Elementen Java Basics - Anfänger-Themen 1
K Erste Schritte Classe in andere Einfügen?? Java Basics - Anfänger-Themen 12
P Klasse in Klasse einfügen (arrayliste) Java Basics - Anfänger-Themen 7
F Bibliotheken einfügen ??? Java Basics - Anfänger-Themen 2
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
K JTextField in ein Spiel einfügen Java Basics - Anfänger-Themen 2
Q Erste Schritte In CharArrayWriter Zeichen an Stelle einfügen Java Basics - Anfänger-Themen 4
J Daten in eine JList einfügen Java Basics - Anfänger-Themen 6
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
D Durch Button klick wert in JTextField einfügen Java Basics - Anfänger-Themen 5
J Button in extra Klasse festlegen und in anderer Klasse einfügen? Java Basics - Anfänger-Themen 3
J GUI Button Klasse in anderer Klasse einfügen Java Basics - Anfänger-Themen 3
E HILFE Projekt für die Schule--> Bilder einfügen Java Basics - Anfänger-Themen 9
D 2 Fragen: Position ändern vs. LayoutManager / Bilder einfügen im Vordergrund Java Basics - Anfänger-Themen 3
D String aus txt in label für Tabelle einfügen Java Basics - Anfänger-Themen 8
A Aktuelles Datum einfügen.. Java Basics - Anfänger-Themen 4
I fertige xml-datein in eine noch aufzubauende xml-datei einfügen Java Basics - Anfänger-Themen 4
N JTable - Zellfarben ändern, GUI-Komponenten in Zellen einfügen Java Basics - Anfänger-Themen 5
B Ordner in jar dateien einfügen Java Basics - Anfänger-Themen 4
S Erste Schritte Bluej Automatisches Einfügen von Objekten Java Basics - Anfänger-Themen 4
A String aus anderer Klasse in JTextArea einfügen Java Basics - Anfänger-Themen 7
J Bild einfügen Java Basics - Anfänger-Themen 3
S Musik einfügen funktioniert noch nicht Java Basics - Anfänger-Themen 6
K paint() mit einfügen Java Basics - Anfänger-Themen 14
A Sortiertes Einfügen in Liste Java Basics - Anfänger-Themen 2
B org.apache.commons.... Folder in Projekt einfügen Java Basics - Anfänger-Themen 6
Kenan89 String in ObjectList einfügen Java Basics - Anfänger-Themen 2
H Bilder im GUI einfügen Java Basics - Anfänger-Themen 12
A SwingX in Eclipse einfügen Java Basics - Anfänger-Themen 5
B Einfügen von Dateien Java Basics - Anfänger-Themen 10
M Java String " einfügen Problem Java Basics - Anfänger-Themen 2
M Video in ClassLoader einfügen Java Basics - Anfänger-Themen 7
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
P JPanel in JTable einfügen Java Basics - Anfänger-Themen 23
D Werte aus Excel in Diagramm einfügen Java Basics - Anfänger-Themen 6
K Fehler beim Einfügen eines Programm Icons Java Basics - Anfänger-Themen 6
Binary.Coder Vor und nach jeder Codezeile etwas einfügen Java Basics - Anfänger-Themen 3
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
D Input/Output Zeilen aus txt-datei in Java-Liste einfügen Java Basics - Anfänger-Themen 9
J JPG in einem Label einfügen und anzeigen lassen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben