jpanel网格布局添加滚动条_JScrollPane与JPanel 滚动条 解决canvas的滚动条问题

importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;public class ScrollPaneDemo extends JFrame implementsMouseListener {

ImagePanel jp;

JScrollPane jsp;publicScrollPaneDemo() {super("JScrollPane Demo");

jp= newImagePanel();

jp.setPreferredSize(new Dimension(600, 400));

jsp= newJScrollPane(jp);

jp.addMouseListener(this);

getContentPane().add(jsp);

setSize(640, 480);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

}public voidmouseClicked(MouseEvent e) {

System.out.println("mouseClicked");

jp.enlarge();

jp.setPreferredSize(jp.getPreferredSize());

jsp.validate();

}public voidmousePressed(MouseEvent e) {//System.out.println("mousePressed");

}public voidmouseReleased(MouseEvent e) {//System.out.println("mouseReleased");

}public voidmouseEntered(MouseEvent e) {//System.out.println("mouseEntered");

}public voidmouseExited(MouseEvent e) {//System.out.println("mouseExited");

}public static voidmain(String[] args) {newScrollPaneDemo();

}

}class ImagePanel extendsJPanel {privateImage image;private Dimension theSize = new Dimension(600, 400);public voidsetImage(Image image) {this.image =image;this.repaint();

}publicImage getImage() {return this.image;

}public voidpaintComponent(Graphics g) {

ImageIcon img= new ImageIcon("Winter.jpg");

g.drawImage(img.getImage(),0, 0, theSize.width, theSize.height, null);

}public voidenlarge() {

theSize.width= (theSize.width * 101) / 100;

theSize.height= (theSize.height * 101) / 100;

setSize(theSize);

}publicDimension getPreferredSize() {return this.theSize;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值