怎样给jpanel添加上下滚动条?
1个回答
展开全部
用JScrollPane可以哈
JScrollPane pane = new JScrollPane(JPanel);
原来的 add(JPanel)改为add(pane)
给你个例子哈。。
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class TestJScrollPane extends JFrame {
private static final long serialVersionUID = 1L;
public TestJScrollPane() {
super("TestJScrollPane");
this.setLayout(null);
this.setBounds(200, 200, 200, 300);
JLabel label = new JLabel("深入浅出Java Swing 程序设计");
JPanel panel = new JPanel();
panel.add(label);
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setBounds(100, 100, 100, 300);
/**
* 要加滚动条就要让panel的宽高大于scrollPane的宽高..你只要上下的..只要高大于就行了..
*/
panel.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));
this.add(scrollPane);
panel.revalidate(); //告诉其他部件,我的宽高变了
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestJScrollPane();
}
}
JScrollPane pane = new JScrollPane(JPanel);
原来的 add(JPanel)改为add(pane)
给你个例子哈。。
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class TestJScrollPane extends JFrame {
private static final long serialVersionUID = 1L;
public TestJScrollPane() {
super("TestJScrollPane");
this.setLayout(null);
this.setBounds(200, 200, 200, 300);
JLabel label = new JLabel("深入浅出Java Swing 程序设计");
JPanel panel = new JPanel();
panel.add(label);
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setBounds(100, 100, 100, 300);
/**
* 要加滚动条就要让panel的宽高大于scrollPane的宽高..你只要上下的..只要高大于就行了..
*/
panel.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));
this.add(scrollPane);
panel.revalidate(); //告诉其他部件,我的宽高变了
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestJScrollPane();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询