之前一直用JScrollPane里面放一个JTextArea,就可以在文本框内实现滚动条。
但是最近做一个小demo,需要在JPanel中实现滚动条,就找了下资料,做好了,现在记录一下,防止以后再用到。
JFrame
|——JPanel
|——JScrollPane
|——JPanel
层级关系是JFrame里面添加JPanel①,JPanel①里面 添加JScrollPane(为了让滚动条展示出来,这里的size要稍微比JPanel①的size小一点),JScrollPane里面添加JPanel②。
具体代码如下:
public Test(){ JFrame jf = new JFrame(); jf.setBounds(200, 200, 500, 500); jf.setVisible(true); jf.setLayout(null); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel1 = new JPanel(); panel1.setBounds(0, 0, 500, 500); panel1.setLayout(null); panel1.setVisible(true); JScrollPane jsp = new JScrollPane(); jsp.setBounds(0, 0, 350, 350); JPanel panel2 = new JPanel(); panel2.setPreferredSize(new Dimension(600, 600)); panel2.setVisible(true); jsp.getViewport().add(panel2); jsp.validate(); panel1.add(jsp); jf.add(panel1); jf.setVisible(true); }