【发布时间】:2014-08-07 21:07:00
【问题描述】:
我正在使用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);
现在,在 MyPanel 的 paintComponents 中,我想绘制宽度和高度大于容器(框架)宽度和高度的矩形。但是卷轴不起作用。
怎么了? 谁能帮帮我?
提前致谢:)
【问题讨论】:
标签: java swing jpanel jscrollpane paintcomponent