Er der nogen der ved hvordan man kan styre en scrollbars knob ? man kan sætte setUnitIncrement og setBlockIncrement på scrollbaren. Unit styrer knappen og Block styrer det frie område i baren (track). Men hvordan f.... kan man styre knob'en hvis man feks vil have den til at scroll en linie ad gangen. scrollBar'en har en BoundedRangeModel som man kan sætte en changelistener på, så kan man jo lave en scrollRecttovisible. Men det er ikke så pænt
Jeg er ikke helt sikker på at jeg forstår spørgsmålet, umiddelbart vil jeg nemlig mene du selv har givet svaret, fordi hvis du bruger setBlockIncrement, scrolles det du sætter via setBlockIncrement.
Altså
JScrollBar bar = mitJScrollPane.getVerticalScrollBar(); bar.setBlockIncrement(10);
setBlockIncrement styrer området uden om knob'en (jeg ved ikke hvad den hedder på dansk) men når man dragger knob'en er den ligeglad, og scroller den ca.1 pixel ad gangen.
løsningen kan laves ved at sætte en ny BoundedRangeModel på scrollbarren evt ved at extende DefaultBoundedRangeModel og lave følgende public void setRangeProperties(int newValue, int newExtent, int newMin, int newMax, boolean adjusting) { newValue = (newValue / 10) * 10; super.setRangeProperties(newValue, newExtent, newMin, newMax, adjusting); }
Har lige siddet og leget lidt med det, er det noget a la det her du vil have frem, hvor der pr. scroll (altså klikkes med mus ved siden af knop) scrolles ca. et view pr. scroll, for så har JScrollBar jo muligheden via sin konstruktør.
import javax.swing.*;
public class JFrame_2 extends javax.swing.JFrame {
public JFrame_2() { initComponents(); }
private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable();
JScrollBar bar = new JScrollBar(java.awt.Adjustable.VERTICAL, 0, // Value 350, // Extent 0, // Min 2000); // Max. jScrollPane1.setVerticalScrollBar(bar);
Det er altså i orden med mig, hvis du selv æder point her, du har trods alt selv frembragt en løsning som er brugbar for dig.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.