永发信息网

请帮忙看看我的这个JScrollPane为什么不出现滚动条?非常急!

答案:1  悬赏:60  手机版
解决时间 2021-07-31 18:58
  • 提问者网友:几叶到寒
  • 2021-07-31 04:49
class WelcomePane extends JPanel{
private JScrollPane scrollpane=null;
private Image image;
JLabel jLabel1=new JLabel("学生管理系统------Welcome!");
public WelcomePane()
{
this.setVisible(true);
this.setSize(500, 600);
this.setLayout(null);

jLabel1.setBounds(120, 20, 500, 40);
this.add(jLabel1);
this.add(getPhotoJScrollPane());
}
public JScrollPane getPhotoJScrollPane() {
JPanel p=new JPanel()
{
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (image == null)
return;
int imageWidth = image.getWidth(this);
int imageHeight = image.getHeight(this);
g.drawImage(image, 0, 0, null);
for (int i = 0; i * imageWidth <= getWidth(); i++)
for (int j = 0; j * imageHeight <= getHeight(); j++)
if (i + j > 0)
g.copyArea(0, 0, imageWidth, imageHeight, i * imageWidth, j* imageHeight);
}
};
p.setSize(700, 600);
try {
image = ImageIO.read(new File("photo.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
scrollpane = new JScrollPane();
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollpane.setSize(500, 300);
scrollpane.setBounds(6, 60, 500, 300);
scrollpane.setViewportView(p);
return scrollpane;
}
}
最佳答案
  • 五星知识达人网友:第幾種人
  • 2021-07-31 06:05
p.setSize(700, 600);加一句p.setPreferredSize(new Dimension(700, 600));
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯