我现在只是在试图制作游戏,但我之前也遇到过这个问题.当我指定特定的窗口大小(例如1024 x 768)时,生成的窗口比我指定的大一点.很烦人.是否有一个原因?我如何纠正它所以创建的窗口实际上是我想要的大小而不是更大一点?到目前为止,我总是回去,一次手动调整大小几个像素,直到我得到我想要的结果,但那已经老了.如果有一个公式,我可以使用它会告诉我需要从我的变量中添加/减去多少像素,这将是非常好的!
PS我不知道我的操作系统是否可能是其中的一个因素,但我使用的是W7X64.
private int windowWidth = 1024;
private int windowHeight = 768;
public SomeWindow() {
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(windowWidth, windowHeight);
    this.setResizable(false);
    this.setLocation(0,0);
    this.setVisible(true);
}
我正在制作这个SO问题的球物理应用程序的简化版本.我通过阅读该问题提供的代码和链接获得了很多,但是在我的程序中我不使用向量,我只是更新我的球的坐标(每个都有一个随机的角度和速度)和三角函数撞到了墙上.
有关如何在没有三角测量的情况下处理球与球的碰撞的信息,但是我没有找到解释如何用三角函数完成的信息.
--EDIT 9/13/2010--
成功......有点......我完成了我想做的事,但我无法按照自己的意愿去做.如果有一种方法可以在不使用矢量的情况下计算球与球之间的碰撞,那么我就无法实现.即便如此,矢量确实是处理所有类型碰撞的一种更简单的方法......我只是希望我知道当我开始我的程序时...会节省我两三天的工作:)所有的我(完整?)程序的代码如下.我添加了一些简洁的功能,如阴影和减小的球半径,这可以让你看到当一个大球击中一个小球时两个球的质量差异.总共有五个类文件,AddLogic.java,Ball.java,BallBuilder.java,MouseEventHandler.java,和Vector2D.java.
AddLogic.java
import java.awt.*;
import java.awt.Graphics2D;
import java.awt.image.BufferStrategy;
import java.util.ArrayList;
public class AddLogic implements Runnable {//Make AddLogic a runnable task.
    private BallBuilder ballBuilder;
    private BufferStrategy strategy;
    private static ArrayList objectsToDraw = new ArrayList();
    private int floorHeight = 33;
    public AddLogic(BallBuilder ballBuilder, BufferStrategy strategy) {
        this.ballBuilder = ballBuilder;
        this.strategy = strategy;
    }
    private void logic(BallBuilder ballBuilder, BufferStrategy strategy) { …我正在使用FlowLayout,我希望我的组件从框架的左上角"流动"到右下角,而不是从屏幕的中心开始.GridLayout做得很好,但它重新调整了我的组件的大小,我不喜欢这样.我会使用GridBagLayout,但它是如此复杂,我想看看如果有可能用FlowLayout做我想要的.
当Grails生成视图(如create.gsp)时,它会按字母顺序放置类的所有属性.我希望类属性按照我在类文件中排列的顺序列出.我可以手动移动它们,但我想知道,有没有办法让Grails按照我想要的方式自动安排?我正在使用NetBeans,如果这有所作为.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Users\ubiquibacon>set
GRAILS_HOME=C:\Program Files\GGTS\grails-2.0.4
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_25
Path=C:\Program Files\Java\jdk1.7.0_25\bin;C:\Program Files\GGTS\grails-2.0.4\bin
C:\Users\ubiquibacon>grails
Error opening zip file or JAR manifest missing : C:/Program
Error occurred during initialization of VM
agent library failed to init: instrument
C:\Users\ubiquibacon>
我有两个主要的Grails项目.项目"A"正在生产中使用Grails 2.0.4使用Netbeans开发,项目"B"仍然是原型,并使用GGTS使用Grails 2.2.4开发.我有一个.bat剧本我跑迅速改变我GRAILS_HOME和PATHGrails的两个版本之间切换时的变量.这很有效,直到我决定在GGTS中打开并打开"A"项目.我最近也将Java从1.6.0_18 x86升级到1.7.0_25 x64.现在有些东西阻止了Grails 2.0.4的运行,这可以从发布的命令行输出中看出来.我的环境变量和路径是正确的,我已经删除了.grails目录,并且我已经重新启动了我的计算机,其中没有一个帮助纠正了问题.
错误的第一行很奇怪,因为它似乎在查找不存在的路径C:\Program.我想知道路径的其余部分是否会因为空间C:\Program Files\???而被砍掉,但这只是一个想法.
我已经尝试过这个问题的所有答案,但没有一个能帮我解决问题.
任何指导将不胜感激.
更新:
在JIRA问题围绕上市的A工作在这里说要改线60 startGrails.bat从这样的:
set AGENT_STRING=-javaagent:%GRAILS_HOME:\=/%/lib/com.springsource.springloaded/springloaded-core/jars/springloaded-core-1.0.5.jar -noverify -Dspringloaded=profile=grails …这个答案解决了Grails 2项目的这个问题,但不适用于Grails 3项目.例如,在Grails 2项目中,我能够将xsl文件放入/src/groovy/myapp/resources/并加载它,类似于链接的答案建议...
this.class.getClassLoader().getResourceAsStream("myapp/resources/my_xsl.xsl") // Returns an java.io.InputStream
...但是当放入相同的文件时,这对Grails 3不起作用src/main/groovy/myapp/resources/.
在HTML表单上灰显文本输入的最佳方法是什么?当用户选中复选框时,我需要输入变灰.我是否必须使用JavaScript(不熟悉JavaScript)或者我可以使用PHP(我更熟悉)?
编辑:
经过一些阅读后,我得到了一些代码,但它给了我一些问题.由于某种原因,我无法根据表单输入的状态(启用或禁用)或复选框的状态(选中或取消选中)使我的脚本工作,但我的脚本在我基于表单的值时工作正常投入.我编写的代码完全像在线的几个例子(主要是这个),但无济于事.没有被注释掉的东西都可以使用.我在这做错了什么?
<label>Mailing address same as residental address</label>
<input name="checkbox" onclick="disable_enable()" type="checkbox" style="width:15px"/><br/><br/>
<script type="text/javascript">
    function disable_enable(){
        if (document.form.mail_street_address.value==1)
            document.form.mail_street_address.value=0;
            //document.form.mail_street_address.disabled=true;
            //document.form.mail_city.disabled=true;
            //document.form.mail_state.disabled=true;
            //document.form.mail_zip.disabled=true;
        else
            document.form.mail_street_address.value=1;
            //document.form.mail_street.disabled=false;
            //document.form.mail_city.disabled=false;
            //document.form.mail_state.disabled=false;
            //document.form.mail_zip.disabled=false;
    }
</script>
编辑:
这是一些基于@ Chief17建议的更新代码.最好的我可以告诉这一切都没有用.我用它value作为测试,因为它的工作原因是出于某种原因
            <label>Mailing address same as residental address</label>
        <input name="checkbox" onclick="disable_enable()" type="checkbox" style="width:15px"/><br/><br/>
        <script type="text/javascript">
            function disable_enable(){
                if (document.getElementById("mail_street_address").getAttribute("disabled")=="disabled")
                    document.form.mail_street_address.value=0;
                    //document.getElementById("mail_street_address").removeAttribute("disabled");
                    //document.getElementById("mail_city").removeAttribute("disabled");
                    //document.getElementById("mail_state").removeAttribute("disabled");
                    //document.getElementById("mail_zip").removeAttribute("disabled");
                else
                    document.form.mail_street_address.value=1;
                    //document.getElementById("mail_street_address").setAttribute("disabled","disabled");
                    //document.getElementById("mail_city").setAttribute("disabled","disabled");
                    //document.getElementById("mail_state").setAttribute("disabled","disabled");
                    //document.getElementById("mail_zip").setAttribute("disabled","disabled");
            }
        </script>
我正在尝试使用ColdFusion(版本7.0.2.142559)将CSV文件加载到数组中.现在我收到以下错误:
coldfusion.runtime.Struct类型的标量值无法分配给二维ColdFusion数组.ColdFusion二维数组只能容纳一维ColdFusion数组和Java List对象.
我的CSV文件是以这种格式设置的:
a,b
c,d
e,f
这是我第一次使用ColdFusion,所以我可能有一些我看不到的简单语法错误.代码如下.
<!--- get the current full path of the current --->
<cfset currentPath = getCurrentTemplatePath()>
<cfset currentDirectory = getDirectoryFromPath(currentPath)>
<!--- get and read the CSV-TXT file --->
<cffile action="read" file="#currentDirectory#/smalltest.csv" variable="csvfile">
<!--- create a new array --->
<cfset array=ArrayNew(2)>
<!--- loop through the CSV-TXT file on line breaks and insert into database --->
<cfloop index="index" list="#csvfile#" delimiters="#chr(10)##chr(13)#">
    <cfset array[#index#][1]=#listgetAt('#index#',1, ',')#>
    <cfset array[#index#][2]=#listgetAt('#index#',2, ',')#>
</cfloop>
<cfdump var=#array#>
奖金:
另外,如果有一些方法可以从ColdFusion中调用PHP文件,那么它将节省我很多时间,因为我已经在PHP中完成了整个脚本(这只是一小部分).我读到了关于ColdFusion自定义标签(标签<cf_php>对我来说非常适合),但是管理员说没有,因此我必须使用ColdFusion或者找到一些通过ColdFusion渲染PHP的方法.框架,JavaScript或<cfhttp>标签都是我认为 …
我的问题与这个问题类似. 我想知道我会在我的Grails应用程序中放置一个jQuery插件,特别是jQuery数字插件.
一旦我将插件放在适当的位置,我如何从我的视图中访问它?我问这个是因为当我在Grails(版本1.3.7)中使用jQuery时,我使用我在这里找到的插件,并在安装该插件后访问jQuery,我在我的<head>标签中使用以下代码:
<g:javascript library="jquery" plugin="jquery"/>
所以说,我的头标记需要什么代码,以便我可以访问数字插件?
假设我有以下Foo对象:
Foo foo = new Foo(foo: "foo", bar: "bar", baz: "baz")
我知道如何验证特定约束:
foo.validate(["foo", "bar"]) // validates the "foo" property and the "bar" property, but not the "baz" property
我也知道如何放弃验证:
foo.save(validate: false)
但我不知道如何告诉Grails验证除列表中的约束之外的所有约束.我可以创建一个满足我想要的方法,但我想确保没有Groovy方法可以先做.
更新
如果没有"更加时髦"的方式,我将如何做到这一点.
    // This method exists in my Util.groovy class in my src/groovy folder
    static def validateWithBlacklistAndSave(def obj, def blacklist = null) {
        def propertiesToValidate = obj.domainClass.constraints.keySet().collectMany{ !blacklist?.contains(it)?  [it] : [] }
        if(obj.validate(propertiesToValidate)) {
            obj.save(flush: true, validate: false)
        }
        obj
    }
grails ×5
java ×3
groovy ×2
php ×2
arrays ×1
coldfusion ×1
csv ×1
flowlayout ×1
forms ×1
grails-3.0 ×1
grails-orm ×1
graphics ×1
html ×1
input ×1
javascript ×1
jframe ×1
jquery ×1
netbeans ×1
physics ×1
pixel ×1
trigonometry ×1