急急!!!!!!!!!在applet中显示图片时加入滚动条 使用JScrollPane,JBuilder中再JPanel的右边第二个 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jsp.add(this); add(jsp,BorderLayout.CENTER);????要这样↓jsp.getViewport().add(image);add(jsp,BorderLayout.CENTER); this指的是Frame JScrollPane jScrollPane1 = new JScrollPane();//滚动条! this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);//jEditorPane2是希望有滚动条显示的控件 jScrollPane1.getViewport().add(jEditorPane2, null);这是一个(装饰)decoration模式的实例 谢谢teva(用正确理论引导人) 下面是改了的程序,但是滚动条,不能滚动!!图片也大于显示面积!!!奇怪!!!import java.awt.*;import java.awt.event.*;import java.applet.*;import javax.swing.*;import java.net.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class Trive extends Applet{ Image image ; JScrollPane jsp = new JScrollPane(); Draw drawImage ; // Construct the applet; public Trive() { } //Initialize the applet public void init() { setLayout(new BorderLayout()); MediaTracker tracker = new MediaTracker(this); jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); image = getImage(getDocumentBase(),"shaoguansq.jpg"); drawImage = new Draw(image); tracker.addImage(image,0); try{ tracker.waitForAll(); } catch(InterruptedException e) { e.printStackTrace(); } jsp.getViewport().add(drawImage,null); add(jsp,BorderLayout.CENTER); this.validate(); } /* public void paint(Graphics g){ int width = image.getWidth(this); int height = image.getHeight(this); g.drawImage(image,0,0,width/4,height/4+10,this); }*/ }class Draw extends JPanel{ private Image map; private int width,height; public Draw(Image image) { map = image ; width = map.getWidth(this); height = map.getHeight(this); } public void paint(Graphics g) { g.drawImage(map,0,0,Draw.this); }}还有一个问题就是在Draw类中的 g.drawImage(map,0,0,Draw.this); 改为 g.drawImage(map,0,0,with/4,height/4,Draw.this); 则也不能显示图片,但是用Trive类中的paint()就可以显示图片!!奇怪!!!望高手解答 你的image是 public void paint(Graphics g) { g.drawImage(map,0,0,Draw.this); }到panel中的,在panel中不算占大小,就像背景图,不信你可add几个button或label这类的,会覆盖在其表面,如果多加几个label之类的(长度超过Frame)则会出现滚动条jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);只是让滚动条总是显示,而背景不算大小,所以就没出现滚动块,而只有个框框显示解决办法是不用paint方法,而是将其包含在某个组件中,在add进去我这儿没现成的api,你自己先找一下吧有其它解决办法别忘了告诉俺一声 再次求助!关于byte数组截取的问题 一道SCJP题,答案怎么怪怪的? SWING的问题!文件搜索的问题! 错误的解答。。。(希望高手能来帮我下下) 请那位大哥帮我把下面这段代码加点注释,来应付课程设计~~ 初学者问题 写了一快排发现随机数为一百的时候有bug不知道咋办了 求教!(送分人) 可以用Java读取Notes的数据么?急,定给分!!! PreparedStatement插入数据时异常: 插入的值对于列过大 关于类的唯一实例的定义方法? showMsg()简单问题
add(jsp,BorderLayout.CENTER);
????要这样↓
jsp.getViewport().add(image);
add(jsp,BorderLayout.CENTER);
JScrollPane jScrollPane1 = new JScrollPane();//滚动条! this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
//jEditorPane2是希望有滚动条显示的控件
jScrollPane1.getViewport().add(jEditorPane2, null);
这是一个(装饰)decoration模式的实例
teva(用正确理论引导人)
显示面积!!!奇怪!!!
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.net.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class Trive extends Applet
{
Image image ;
JScrollPane jsp = new JScrollPane();
Draw drawImage ;
// Construct the applet;
public Trive() {
}
//Initialize the applet
public void init() {
setLayout(new BorderLayout());
MediaTracker tracker = new MediaTracker(this);
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
image = getImage(getDocumentBase(),"shaoguansq.jpg");
drawImage = new Draw(image);
tracker.addImage(image,0);
try{
tracker.waitForAll();
}
catch(InterruptedException e)
{
e.printStackTrace();
}
jsp.getViewport().add(drawImage,null);
add(jsp,BorderLayout.CENTER);
this.validate();
}
/* public void paint(Graphics g){
int width = image.getWidth(this);
int height = image.getHeight(this);
g.drawImage(image,0,0,width/4,height/4+10,this);
}*/
}
class Draw extends JPanel{
private Image map;
private int width,height;
public Draw(Image image)
{
map = image ;
width = map.getWidth(this);
height = map.getHeight(this);
}
public void paint(Graphics g)
{
g.drawImage(map,0,0,Draw.this);
}
}
还有一个问题就是在Draw类中的 g.drawImage(map,0,0,Draw.this); 改为
g.drawImage(map,0,0,with/4,height/4,Draw.this);
则也不能显示图片,
但是用Trive类中的paint()就可以显示图片!!奇怪!!!
望高手解答
public void paint(Graphics g)
{
g.drawImage(map,0,0,Draw.this);
}到panel中的,在panel中不算占大小,就像背景图,不信你可add几个button或label这类的,会覆盖在其表面,如果多加几个label之类的(长度超过Frame)则会出现滚动条
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
只是让滚动条总是显示,而背景不算大小,所以就没出现滚动块,而只有个框框显示解决办法是不用paint方法,而是将其包含在某个组件中,在add进去
我这儿没现成的api,你自己先找一下吧
有其它解决办法别忘了告诉俺一声