我正在使用
java-2d
以可视化我的应用程序。我创建了面板,扩展了
JPanel
绘制一个简单的矩形。我给这个命名了
MyPanel
.
因此,面板的宽度和高度由矩形定义动态改变。我使用
JScrollPane
为我的面板添加滚动功能,如下所示:
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
我使用以下代码将面板添加到窗口:
JFrame frame = new JFrame();
frame.setLayout(new GridLayout(1,1));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setResizable(false);
MyPanel panel = new MyPanel();
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
frame.add(scrollPane);
frame.setVisible(true);
现在,在
paintComponents
在MyPanel中,我想用大于容器(框架)宽度和高度的宽度和高度绘制矩形。但滚动不起作用。
怎么了?
有人能帮我吗?
提前感谢:)