Hej allen,

Ik hoop dat jullie me kunnen helpen. Ik ben op zoek naar een scrollbar voorbeeld in JAVA.

Dus ik heb een panel en daarin wil ik een scrollbar hebben.

Ik weet wel:
new Scrollbar(Scrollbar.VERTICAL, 0, 50, 0, 50)

Maar hiermee creeër ik alleen een scrollbar. Wat moet ik doen om de scrollbar correct te laten werken, dus dat ik daadwerkelijk in het panel naar beneden kan scrollen, zodat de inhoud verschuift.

Ik heb geen voorbeeld kunnen vinden via Google. Misschien iemand anders wel :)

Alvast bedankt
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ScrollBarDemo extends JFrame
implements AdjustmentListener {
// Create horizontal and vertical scroll bars
private JScrollBar jscbHort =
new JScrollBar(JScrollBar.HORIZONTAL);
private JScrollBar jscbVert =
new JScrollBar(JScrollBar.VERTICAL);

// Create a MessagePanel
private MessagePanel messagePanel =
new MessagePanel("Welcome to Java");

public static void main(String[] args) {
ScrollBarDemo frame = new ScrollBarDemo();
frame.setTitle("ScrollBarDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}

public ScrollBarDemo() {
// Add scroll bars and message panel to the frame
getContentPane().setLayout(new BorderLayout());
getContentPane().add(messagePanel, BorderLayout.CENTER);
getContentPane().add(jscbVert, BorderLayout.EAST);
getContentPane().add(jscbHort, BorderLayout.SOUTH);

// Register listener for the scroll bars
jscbHort.addAdjustmentListener(this);
jscbVert.addAdjustmentListener(this);
}

/** Handle scroll bar adjustment actions */
public void adjustmentValueChanged(AdjustmentEvent e) {
if (e.getSource() == jscbHort) {
// getValue() and getMaximumValue() return int, but for better
// precision, use double
double value = jscbHort.getValue();
double maximumValue = jscbHort.getMaximum();
double newX = (value * messagePanel.getWidth() / maximumValue);
messagePanel.setXCoordinate((int)newX);
}
else if (e.getSource() == jscbVert) {
// getValue() and getMaximumValue() return int, but for better
// precision, use double
double value = jscbVert.getValue();
double maximumValue = jscbVert.getMaximum();
double newY = (value * messagePanel.getHeight() / maximumValue);
messagePanel.setYCoordinate((int)newY);
}
}
}


Dit staat in mijn grootte JAVA boek :D
Maar bij mij geeft hij een error... En ben nog niet zover met JAVA dat ik die kan oplossen. (Lijn 14+15 'MessagePanel')
Hej GRANDIOOS bedankt :)
Ik heb je code een beetje vervormd en hij werkt. Ik had alleen de verticale scrollbar nodig

Ik verstuur later vandaag of morgen even de goede code, zodat je die kan gebruiken.

Reageren