有没有办法以编程方式调用键盘"点击"声音?我的应用程序有一个自定义键盘(由UIButtons构建),我想在用户点击键时提供一些音频反馈.我尝试在Garageband中创建自己的声音,但对我的任何创作都不满意.如果没有标准的方式来调用按键点击,有人能指向我可能有这样一个宝石的声音库吗?
我原来的问题:
我正在创建一个简单的绘图应用程序,需要能够绘制我现有的,先前绘制的内容
drawRect.在不完全替换现有内容的情况下绘制现有内容的正确方法是什么?
根据这里和其他地方收到的答案,这是交易.
您应该准备好在drawRect
调用时重绘整个矩形.
您无法通过执行以下操作来阻止内容被删除:
[self setClearsContextBeforeDrawing: NO];
这仅仅是对图形引擎的暗示,没有必要让它为您预先清除视图,因为您可能需要重新绘制整个区域.它可能会阻止您的视图被自动删除,但您不能依赖它.
要在不擦除的情况下在视图上绘制,请将绘图绘制到屏幕外位图上下文(系统永远不会清除它).然后在您drawRect的屏幕外缓冲区中复制到视图.
例:
- (id) initWithCoder: (NSCoder*) coder {
if (self = [super initWithCoder: coder]) {
self.backgroundColor = [UIColor clearColor];
CGSize size = self.frame.size;
drawingContext = [self createDrawingBufferContext: size];
}
return self;
}
- (CGContextRef) createOffscreenContext: (CGSize) size {
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, size.width, size.height, 8, size.width*4, colorSpace, kCGImageAlphaPremultipliedLast);
CGColorSpaceRelease(colorSpace);
CGContextTranslateCTM(context, 0, size.height);
CGContextScaleCTM(context, 1.0, -1.0); …Run Code Online (Sandbox Code Playgroud) 我希望能够进行规范化重音字符的查询,例如:
é, è, and ê
Run Code Online (Sandbox Code Playgroud)
在使用'='和'like'的查询中,所有都被视为'e'.我有一行将用户名字段设置为' rené ',我希望能够将它与' rene '和' rené ' 匹配.
我试图用MySQL 5.0.8中的'collate'子句来做这件事.我收到以下错误:
mysql> select * from User where username = 'rené' collate utf8_general_ci;
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
Run Code Online (Sandbox Code Playgroud)
FWIW,我的表创建时:
CREATE TABLE `User` (
`id` bigint(19) NOT NULL auto_increment,
`username` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniqueUsername` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=56790 DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud) 我有一个项目,使用"系统"范围来指定我的项目的WEB-INF/lib目录中包含的jar文件.此工件不在任何maven存储库中,因此我必须将其作为项目的一部分包含在内.我这样做有以下几点:
<dependency>
<groupId>com.example</groupId>
<artifactId>MySpecialLib</artifactId>
<version>1.2</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/MySpecialLib-1.2.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这对大多数事情都很有用.
但是现在我正在尝试在命令行上运行一些代码(在我的webapp之外,通过main()我添加的方法)并且mvn exec:java无法解析MySpecialLib中的代码,因为它没有包含在"运行时"类路径中.
我怎么能:
要么
mvn exec:java也使用systemclasspath?我已经尝试过mvn exec:java -Dexec.classpathScope=system,但这样就不会有任何问题runtime.
我刚刚继承了在JSF中实现的项目.我有以下代码在Chrome中看起来不错,但Firefox在"空"列表项上呈现边框:
<ul>
<li><a href="/home">Home</li>
<li>
<s:link view="/signup.xhtml" rendered="#{someCondition}">Sign Up</s:link>
</li>
<!-- etc... -->
</ul>
Run Code Online (Sandbox Code Playgroud)
最终看起来像:

是否有一个JSF标签有条件地渲染<li>?
我正试图在Eclipse中使用GWT托管模式,这个HOWTO.Servlet工作正常,我的GWT代码也是如此,但是我的所有JSP都因为以下错误而失败:
[WARN] /view/lniExecutiveSummary.htm
org.apache.jasper.JasperException: /WEB-INF/jsp/lni/lniExecutiveSummary.jsp(1,1) The absolute uri: http://java.sun.com/jsp/jstl/fmt cannot be resolved in either web.xml or the jar files deployed with this application
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
[ trimmed ]
Run Code Online (Sandbox Code Playgroud)
在Tomcat 5x下部署时,此webapp可以正常工作; 在Eclipse中运行时,我似乎无法解决taglibs问题.我是Eclipse的新手,让它使用GWT + Maven所需的所有活动部件让我把头发拉出来.
更新:我不再使用Eclipse; 我已经切换(返回!)到Intellij IDEA.所以我不能诚实地评估你们所发布的答案.一旦某些投票行动发生,或者其他人使用其中一种方法报告成功,我将接受适当的答案.谢谢.
所以,我有一个战争项目,其中包含几个在任何存储库中都没有的依赖jar.直到最近,我一直把它们保存在src/main/webapp/WEB-INF/lib,并将它们添加到具有系统范围的pom中.
我知道这有问题,所以我想清理我的构建.我.m2/repository通过install:install-file插件半手动安装了罐子.这对我很好,但我团队中的其他人呢?我们很小,设置Nexus并不是我们的选择.我已经使用添加注释来pom.xml解释如何install:install-file为每个jar 运行.
我对install:install-file解决方案很满意,但我仍然希望将这些工件包含在我的项目的版本控制中,而不仅仅是将它们放在我的文件系统中.
保持它们src/main/webapp/WEB-INF/lib不起作用,因为它会自动将它们添加到生成的war伪像中(离题:如果maven只是继续并将它们添加到类路径中,我将完成,不需要安装:install-file!)
问题:在maven目录布局中是否有一个受制裁的地方我可以收集这些.jar文件,这样我就可以将它们作为我项目的一部分了?
我确实意识到这里发生了什么 - Maven试图将依赖的jar 放在我的构建之外,这样当其他项目依赖于我的构建时,它们就可以解决传递依赖性.这对于进入公共maven repos的开源项目来说非常好,但是我敢打赌,绝大多数使用Maven的人正在研究像这样的"叶子"项目,并且有一种方法真的很方便包括jar文件作为项目的一部分,而不会跳过这么多的箍.
我正在尝试使用图像作为链接,如下所示:
<wicket:link>
<a href="UploadPage.html">
<img src="/logo.png"/>
</a>
</wicket:link>
Run Code Online (Sandbox Code Playgroud)
在渲染HTML时,href的<a>正确设置为我的上传页面.
但奇怪的是,Wicket增加onclick=window.location.href='/logo.png'了<img>标签.最终结果是单击徽标会加载徽标本身,而不是上载页面.
一个简单的解决方法是不使用<wicket:link>,并将URL硬编码到我的上传页面,但我想知道是否有适当的解决方案.
我正在寻找有关如何使用GWT 2.1 Editor框架的一些文档或示例.谷歌的文档是呃,有点缺乏.
从可用的有限文档中,我已经能够理解编辑器(理论上)将允许您更轻松地将GUI元素绑定到数据模型.这将缓解将数据复制到TextArea/ListBox/CheckBox,然后将用户的更改复制回底层模型(最终是数据库)的常见任务.
如果确实能够实现这一目标,那将非常受欢迎.就目前而言,我对如何实施其中任何一个都感到很头疼.任何指向文档或示例的指针都将受到高度赞赏.
我正在使用JPA(Hibernate作为提供者),Glassfish和MySQL.一切都在开发中很好用,但是当我将应用程序部署到测试服务器并让它在一夜之间运行(大部分空闲)时,我通常会在早上受到欢迎:
[#|2011-03-09T15:06:00.229+0000|INFO|glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=23;_ThreadName=Thread-1;|ERROR [htt\
p-thread-pool-8080-(1)] (JDBCTransaction.java:91) - JDBC begin failed
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 41,936,868 milliseconds ago. The last packet \
sent successfully to the server was 41,936,868 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expirin\
g and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connec\
tion property 'autoReconnect=true' to avoid this problem.
at …Run Code Online (Sandbox Code Playgroud)