首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java在错误位置绘制图像,剪辑区域位置错误

Java在错误位置绘制图像,剪辑区域位置错误
EN

Stack Overflow用户
提问于 2015-06-03 06:35:45
回答 1查看 582关注 0票数 1

当我看到我的应用程序时,它不是在(0,0)上,而是在程序的中间,所以我调试了我的程序,我看到clipRegion.lox是456,loy是130,这是程序绘制的位置(0,0)。因此,我认为剪辑区域的位置是错误的,但我不知道如何修复它。有什么帮助吗?

代码:

代码语言:javascript
复制
public void changeState(int bef,int cur){
    if(bef==1){
        if(cur==2){
            intro.setVisible(false);
            this.setContentPane(play);
            play.init();
            play.setVisible(true);
        }
    }
}

这是第一次我的小组开始。在play.init()中,我将套接字设置为与服务器程序连接,并启动声音文件。这就是全部。

代码语言:javascript
复制
 public void paintComponent(Graphics g){
    super.paintComponent(g);
    this.setBackground(new Color(255,255,255));
    g.drawImage(backgroundImg, 0, 0, this);
    g.drawImage(player, 368, 280, this);
    for(int i=0;i<60;i++){
        for(int j=0;j<100;j++){
            if(map[i][j]==1){
                g.drawImage(stone, (j-10)*32-dx, (i-10)*32, this);
            }
            else if(map[i][j]==2){
                if(i>0&&map[i-1][j]==0) g.drawImage(grass, (j-10)*32-dx, (i-10)*32, this);
                else g.drawImage(dirt, (j-10)*32-dx,(i-10)*32,this);
            }
        }
    }
    g.drawString(servermessage, 320, 200);
}
  • 我删除了我的Println代码和线程睡眠代码。这只是为了调试,但是当我删除时,没有什么改变。

此外,我重新绘制了它,它绘制(0,0),但它没有绘制全屏。

我认为画的图像和(456,130)到(800,600)是一样大的,所以我认为这幅画被剪掉了。

我不能上传我的照片因为名声很低..。还有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-03 14:58:29

代码语言:javascript
复制
this.setBackground(new Color(255,255,255));

不要在绘画方法中设置背景。在类的构造函数中设置背景。

它不是在( 0,0)上画我的图像,而是在我的程序中的某个地方,g.drawImage(backgroundImg,0,0,this);

不,图像绘制在(0,0)处,这是相对于面板的位置。这意味着面板不是相对于框架的(0,0)绘制的。这可能是因为您使用的布局管理器是将面板定位在框架的中心。检查你的布局代码。

我看到clipRegion.lox是456个,loy是130个

如果您认为裁剪区域是错误的,这可能是因为您的面板没有首选的大小。无论何时进行自定义绘图,都应该重写getPreferredSize()方法以返回面板的大小,这样布局管理器就可以正确地完成它们的工作。也许首选的大小应该是您的形象大小?

有关更多信息和工作示例,请参阅有关定制绘画的Swing教程中的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30612532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档