Java JScrollPane无法设置垂直位置
我试图垂直设置JScroll窗格的位置,但它似乎在某个点被封顶。在水平方向上,它工作得很好Java JScrollPane无法设置垂直位置,java,scrollbar,Java,Scrollbar,我试图垂直设置JScroll窗格的位置,但它似乎在某个点被封顶。在水平方向上,它工作得很好 JPanel panel = new JPanel(null); panel.setBorder(BorderFactory.createLineBorder(Color.red)); panel.setPreferredSize(new Dimension(800, 800)); JLabel l = new JLabel("test1"); l.setBound
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);
图片:
我可以将垂直数字设置为我想要的任何数字。它不会超出这个位置
希望有人能帮助我。已经是了。试试这个:
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);
}
}
结果:
可能存在的副本