我试图将JTextField绑定到一个double
使用JGoodies绑定的bean的字段:
JTextField myJTextField = ...
BeanAdapter adapter = ...
Bindings.bind(myJTextField,
ConverterFactory.createStringConverter(adapter.getValueModel("amplitude"),
new DecimalFormat("0.00000")));
Run Code Online (Sandbox Code Playgroud)
这有效,至少在bean→JTextField方向.在JTextField→bean方向,它有一个问题:如果我开始在JTextField中输入,它会在小数点后的第一个数字后立即进行更新,弄乱JTextField焦点,并调整我的JTextField值.
(问题似乎来自尝试将GUI改编String
为模型double
)
我该如何解决????
样本程序演示了这个:
package com.example.test.gui;
import java.awt.GridLayout;
import java.beans.PropertyChangeListener;
import java.text.DecimalFormat;
import java.util.Hashtable;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import com.jgoodies.binding.adapter.Bindings;
import com.jgoodies.binding.adapter.BoundedRangeAdapter;
import com.jgoodies.binding.beans.BeanAdapter;
import com.jgoodies.binding.beans.ExtendedPropertyChangeSupport;
import com.jgoodies.binding.value.ConverterFactory;
public class FloatPointBinding {
public static class MyModel {
private int x;
final private ExtendedPropertyChangeSupport changeSupport =
new ExtendedPropertyChangeSupport(this);
public void addPropertyChangeListener(PropertyChangeListener x) {
this.changeSupport.addPropertyChangeListener(x);
}
public void removePropertyChangeListener(PropertyChangeListener …
Run Code Online (Sandbox Code Playgroud) 我正在查看一些第三方代码,我不确定一行是做什么的.我无法发布确切的代码,但它是:
bool function(float x)
{
float f = doCalculation(x);
return x > 0 ? f : std::numeric_limits<float>::infinity();
}
Run Code Online (Sandbox Code Playgroud)
这显然会引发编译器关于转换float-> bool的警告,但实际行为是什么?Visual C++如何将浮动转换为bools?至少我应该能够取代那令人讨厌的无限......
是否有一些正确的方法可以让我的所有控制器都可以使用一些变量来MY_Controller.php
在我的/application/libraries/
文件夹中添加文件(在此处的文档中显示)?
我在Kohana 2.3.4工作,想知道是否有更好的方法,或者这是唯一推荐的方法?
作为OOP的新手,您可以将我链接到任何示例吗?
我听说正确的答案是将vars添加到你的$config[]
,试图获得更多细节.
这是问题:当脚本开始修改数据库并出现问题时,数据库通常会损坏.例如,假设我们有一个User表和一个Photos表.
脚本创建用户数据集,并在下一行中尝试创建照片数据集.该照片有一个user_id列.现在假设出现问题,PDO的lastInserId()不返回用户的id.那么在最坏的情况下会发生什么:我们得到没有照片的用户,以及没有有效user_id的照片.破碎的参考.调试3周.
是否有任何好的策略可以遵循,以防止这种问题?在下面的代码中,您可以看到我至少尝试将其记录到文件并退出脚本执行以防止更多损坏和数据库损坏.
public function lastInsertId() {
$id = $this->dbh->lastInsertId();
if (!is_numeric($id)) {
$this->logError("DB::lastInsertId() did not return an id as expected!");
die();
}
return $id;
}
Run Code Online (Sandbox Code Playgroud)
也许我必须在任何地方使用事务,在查询B依赖于查询A的任何时候,等等?这是解决方案吗?
我应该在die()调用之前进行"预防性回滚"吗?我想在这一点上不会受到太大伤害,不是吗?我不确定...
这是参考发布的解决方案: 循环固定大小的数组,而不在C中定义其大小
这是我的示例代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
static const char *foo[] = {
"this is a test",
"hello world",
"goodbye world",
"123",
NULL
};
for (char *it = foo[0]; it != NULL; it++) {
printf ("str %s\n", it);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
试图编译这个给出:
gcc -o vararray vararray.c
vararray.c: In function ‘main’:
vararray.c:14: warning: initialization discards qualifiers from pointer target type
vararray.c:14: error: ‘for’ loop initial declaration used outside C99 mode
Run Code Online (Sandbox Code Playgroud) 我正在编写一个响应HTTP重定向的webapp.有没有办法强制客户端转发我在新网址的响应中包含的标头?
示例请求:
POST /insertion HTTP/1.1
Content-Length: 9
(content)
Run Code Online (Sandbox Code Playgroud)
Webapp响应:
HTTP/1.x 302 Found
Location: /dock
Mydata: asdf
Run Code Online (Sandbox Code Playgroud)
下一个客户请求:
GET /dock HTTP/1.1
Mydata: asdf
Run Code Online (Sandbox Code Playgroud)
更新:似乎我不清楚此事.我知道cookie会很有用,但我不能使用它们.你知道是否存在像我正在寻找的东西吗?
我的最新项目能够使用数据库中的信息生成文档.
因此,我将文档模板按需复制到用户的临时文件夹并进行修改.我这样做是因为每个模板在修改期间都必须可用.
之后,用户通过我的webapp下载链接获得他的文档.
我的问题:存储webapp数据是否有最佳实践?我觉得温度会很好.但是因为我必须自己删除数据,所以我想把它放在tomcat webapp文件夹中的WAR文件夹旁边.
我使用Windows 2003作为Tomcat的主机系统.我为我的项目使用Grails,Java和Maven ......不知道是否需要这些信息.
编辑:
我提出这个微不足道的问题的主要原因是......如果我负责创建/删除我的临时数据......在系统上使用临时文件夹仍然是一个好习惯吗?我不确定这个......
我有一个从文本框条目填充的列表框.
{
textBox2.Text.Replace("\r\n", "\r");
listBox1.Items.Add(textBox2.Text);
}
Run Code Online (Sandbox Code Playgroud)
发生的事情是文本框以单列格式填充,当它移动到列表框时,\ r \n更改为黑色方块,并填充与文本框中显示的相同.
我想知道之间的区别(如果有的话):
StringBuilder sb = new StringBuilder();
sb.Append("xxx");
sb.Append("yyy");
sb.Append("zzz");
Run Code Online (Sandbox Code Playgroud)
而且:
StringBuilder sb = new StringBuilder();
sb.Append("xxx")
.Append("yyy")
.Append("zzz");
Run Code Online (Sandbox Code Playgroud) c# ×2
php ×2
.net ×1
binding ×1
c ×1
c++ ×1
c99 ×1
clear ×1
components ×1
controller ×1
dispose ×1
grails ×1
http ×1
http-headers ×1
java ×1
jgoodies ×1
jtextfield ×1
kohana ×1
loops ×1
swing ×1
tomcat ×1
visual-c++ ×1