MeinScrollPane scr = new MeinScrollPane(meineTextArea);
//...
scr.setzeZurMitte();
JScrollPane nfoScrollLeisten = new JScrollPane(nfoBereich);
nfoScrollLeisten.getVerticalScrollbar().setValue(2);
dieta hat gesagt.:Code:class MeinScrollPane extends JScrollPane { public MeinScrollPane(JComponent c) { super(c); } public void setzeZurMitte() { verticalScrollBar.setValue(verticalScrollBar.getValue()/2); } }
Is jetzt nicht getestet, müsste aber gehen.
JScrollPane nfoScrollLeisten = new JScrollPane(nfoBereich);
nfoScrollLeisten.getVerticalScrollbar().setValue(2);
Roar hat gesagt.:http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JScrollPane.html#getVerticalScrollBar()
getVerticalScrollBar
public JScrollBar getVerticalScrollBar()
Returns the vertical scroll bar that controls the viewports vertical view position.
Returns:
the verticalScrollBar property
See Also:
setVerticalScrollBar(javax.swing.JScrollBar)
JScrollPane nfoScrollLeisten = new JScrollPane(nfoBereich);
nfoScrollLeisten.getVerticalScrollBar().setValue(400);
PELLE hat gesagt.:In JTextArea soll automisch an einen bestimmte Scrollbar position gescrollt werden...
mit welcher Methode komme ich in die Mitte der JTA gescrollt
so dass der user gleich die mitte der eingelesenen txt datei sieht?
/*
* ScrollTextMitte2.java
*/
//package text;
import java.awt.*;
import javax.swing.*;
public class ScrollTextMitte2 extends JFrame {
public ScrollTextMitte2() {
initComponents();
for (int i = 0; i < 400; i++) {
textArea.append("blabla blabla blabla blabla blabla blabla blabla " +
"blabla blabla blabla blabla blabla blabla blabla \n");
}
for (int i = 0; i < 400; i++) {
textArea.append("HALLO HALLO HALLO HALLO HALLO HALLO HALLO HALLO HALLO "+
"HALLO HALLO HALLO HALLO HALLO HALLO HALLO HALLO \n");
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
FontMetrics fm = textArea.getFontMetrics(textArea.getFont());
int rowHeight = fm.getHeight();
int rows = textArea.getLineCount();
int value = (rowHeight * rows)/2-rowHeight;
JScrollBar bar = scroller.getVerticalScrollBar();
bar.setValue(value);
}
});
}
private void initComponents() {
scroller = new JScrollPane();
textArea = new JTextArea();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
textArea.setColumns(20);
textArea.setRows(5);
scroller.setViewportView(textArea);
getContentPane().add(scroller, BorderLayout.CENTER);
setSize(400,300);
setLocationRelativeTo(null);
}
public static void main(String args[]) {
new ScrollTextMitte2().setVisible(true);
}
private JScrollPane scroller;
private JTextArea textArea;
}