2016-11-21 4 views
0

JScroll Paneの位置を垂直に設定しようとしましたが、ある時点でキャップされているようです。横方向にはうまく動作します。JScrollPane垂直位置が設定されていません

JPanel panel = new JPanel(null); 
    panel.setBorder(BorderFactory.createLineBorder(Color.red)); 
    panel.setPreferredSize(new Dimension(800, 800)); 
    JLabel l = new JLabel("test1"); 
    l.setBounds(40,40,100,100); panel.add(l); 
    JLabel l2 = new JLabel("test2"); 
    l2.setBounds(440,440,100,100);panel.add(l2); 


    JScrollPane scroll = new JScrollPane(panel); 

    scroll.getVerticalScrollBar().setValue(500); 
    scroll.getHorizontalScrollBar().setValue(500); 


    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setLayout(new BorderLayout()); 
    add(scroll, BorderLayout.CENTER); 
    setSize(300, 300); 
    setVisible(true); 

写真:http://i.imgur.com/nIqBlrv.png

私は私が望むいずれかに垂直数を設定することができます。このポジションを超えてはいきません。

誰かが私を助けてくれることを願っています。すでにタイ。

+0

可能な複製(http://stackoverflow.com/questions/2544758 [スクロールのスクロールの位置を調整する方法] /スクロール・ペイン・オブ・ザ・スクロール・ペインの位置調整方法) – McNets

答えて

0

はこの試してみてください。

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.Point; 

import javax.swing.BorderFactory; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 

public class VerticalScrollPane { 

    public static void main(String[] args) {   
     JPanel panel = new JPanel(null); 
     panel.setBorder(BorderFactory.createLineBorder(Color.red)); 
     panel.setPreferredSize(new Dimension(800, 800)); 
     panel.setVisible(true); 

     JLabel l = new JLabel("test1"); 
     l.setBounds(40,40,100,100); panel.add(l); 
     JLabel l2 = new JLabel("test2"); 
     l2.setBounds(440,440,100,100);panel.add(l2); 

     JScrollPane scroll = new JScrollPane(panel);   
     scroll.getViewport().setViewPosition(new Point(500,350)); // Use this 

     JFrame frame = new JFrame(); 
     frame.getContentPane().add(scroll); 
     frame.setVisible(true); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLayout(new BorderLayout()); 
     frame.add(scroll, BorderLayout.CENTER); 
     frame.setSize(300, 300); 
     frame.setVisible(true); 
    } 
} 

結果:

Vertical ScrollPane Java

関連する問題