用JScrollPane可以哈\x0d\x0aJScrollPane pane = new JScrollPane(JPanel)\x0d\x0a原来的 add(JPanel)改为add(pane)\x0d\x0a\x0d\x0a给你个例子哈。。\x0d\x0a\x0d\x0aimport java.awt.Dimension\x0d\x0a\x0d\x0aimport javax.swing.JFrame\x0d\x0aimport javax.swing.JLabel\x0d\x0aimport javax.swing.JPanel\x0d\x0aimport javax.swing.JScrollPane\x0d\x0a\x0d\x0apublic class TestJScrollPane extends JFrame {\x0d\x0a\x0d\x0a private static final long serialVersionUID = 1L\x0d\x0a\x0d\x0a public TestJScrollPane() {\x0d\x0a super("TestJScrollPane")\x0d\x0a this.setLayout(null)\x0d\x0a this.setBounds(200, 200, 200, 300)\x0d\x0a\x0d\x0a JLabel label = new JLabel("深入浅出Java Swing 程序设计")\x0d\x0a\x0d\x0a JPanel panel = new JPanel()\x0d\x0a panel.add(label)\x0d\x0a \x0d\x0a JScrollPane scrollPane = new JScrollPane(panel)\x0d\x0a scrollPane.setBounds(100, 100, 100, 300)\x0d\x0a /**\x0d\x0a * 要加滚动条就要让panel的宽高
大于scrollPane的宽高..你只要上下的..只要高大于就行了..\x0d\x0a */\x0d\x0a panel.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2))\x0d\x0a this.add(scrollPane)\x0d\x0a panel.revalidate()//告诉其他部件,我的宽高变了\x0d\x0a this.setVisible(true)\x0d\x0a this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)\x0d\x0a\x0d\x0a }\x0d\x0a\x0d\x0a public static void main(String[] args) {\x0d\x0a new TestJScrollPane()\x0d\x0a }\x0d\x0a}使用了
布局管理器之后,用setPreferredSize(new Dimension(width, height))设置组件大小。
你可以试试button1.setPreferredSize(new Dimension(width, height))
首先保证里面的JPanel的布局是自上而下的,BoxLayout即可。
pane.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_NEVER)
pane.setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED)
评论列表(0条)