我正在尝试使用JNA,这是我尝试运行的第一个程序.我复制它的参考,但是,当我运行它,他发现412楼的窗口...和我很肯定,我没有那么多的窗口,现在开了:)能否请人给我解释一下该程序的行为?
import com.sun.jna.Pointer;
import com.sun.jna.win32.StdCallLibrary.StdCallCallback;
import com.sun.jna.Native;
import com.sun.jna.win32.StdCallLibrary;
public class Main {
// Equivalent JNA mappings
public interface User32 extends StdCallLibrary {
User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);
interface WNDENUMPROC extends StdCallCallback {
boolean callback(Pointer hWnd, Pointer arg);
}
boolean EnumWindows(WNDENUMPROC lpEnumFunc, Pointer arg);
}
public static void main(String[] args) {
User32 user32 = User32.INSTANCE;
user32.EnumWindows(new User32.WNDENUMPROC() {
int count;
public boolean callback(Pointer hWnd, Pointer userData) {
System.out.println("Found window " + hWnd + ", total " + ++count);
return …Run Code Online (Sandbox Code Playgroud) 好吧,我希望我在这里犯了一个愚蠢的错误.我有一个DisplayDevice3d列表,每个DisplayDevice3d都包含一个DisplayMode3d列表.我想删除DisplayDevice3d列表中没有任何DisplayMode3d的所有项目.我正在尝试使用Lambda来做它,即:
// If the device doesn't have any modes, remove it.
std::remove_if(MyDisplayDevices.begin(), MyDisplayDevices.end(),
[](DisplayDevice3d& device)
{
return device.Modes.size() == 0;
}
);
Run Code Online (Sandbox Code Playgroud)
即使出6名DisplayMode3d在MyDisplayDevices,只有1个有什么DisplayMode3d的其模式集合中,没有被从列表中删除.
我在这里犯了什么错误?
编辑:
好吧,我的错误是我应该使用MyDisplayDevices.remove_if而不是std :: remove_if,但是下面的答案对于使用std :: remove_if:p是正确的.
MyDisplayDevices.remove_if( [](DisplayDevice3d const & device)
{
return device.Modes.size() == 0;
});
Run Code Online (Sandbox Code Playgroud) 如何在窗体画布上绘制内容并在窗体上绘制控件?
我尝试以下方法:
procedure TForm1.FormPaint(Sender: TObject);
var x,y: Integer;
begin
x := Mouse.CursorPos.X - 10;
y := Mouse.CursorPos.Y - 10;
x := ScreentoClient(point(x,y)).X - 10;
y := ScreenToClient(point(x,y)).Y - 10;
Canvas.Brush.Color := clRed;
Canvas.FillRect(rect(x, y, x + 10, y + 10));
Invalidate;
end;
Run Code Online (Sandbox Code Playgroud)
在绘制其他控件之前绘制矩形,因此它隐藏在控件后面(根据Delphi Docs,这是预期的行为).
我的问题是如何绘制控件?
我不是一个PHP开发人员,所以我不知道如果PHP是比较流行的使用显式的getter/setter方法,在纯OOP的风格,与私人领域(我喜欢的方式):
class MyClass {
private $firstField;
private $secondField;
public function getFirstField() {
return $this->firstField;
}
public function setFirstField($x) {
$this->firstField = $x;
}
public function getSecondField() {
return $this->secondField;
}
public function setSecondField($x) {
$this->secondField = $x;
}
}
Run Code Online (Sandbox Code Playgroud)
或只是公共领域:
class MyClass {
public $firstField;
public $secondField;
}
Run Code Online (Sandbox Code Playgroud)
谢谢
这是代码:
/**
* some text.
*/
public class Foo {
/**
* Some comment...
*/
public enum Bar {
/**
* some text.
*/
ABC,
/**
* some text.
*/
CDE;
};
}
Run Code Online (Sandbox Code Playgroud)
Checkstyle 说Missing a Javadoc comment.两次(line withABC和 line with CDE)。它是关于什么的?我应该在哪里添加评论?JavaDoc 工作得很好。
我有可以以各种格式保存文件的应用程序(所有格式都是 xml)。所以我应该解决确定保存的格式文件的问题。所以,我看到了 2 个解决方案
marshaller.setProperty(Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION, "bla-bla.xsd");
所以我想我可以使用它 unmarshaller.getProperty(Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION)
但它扔
javax.xml.bind.PropertyException: jaxb.noNamespaceSchemaLocation
并getSchema() 返回 null 那么,如何获取架构位置?
setAdapter(Class<A> type, A adapter)方法为不同的bean指定不同的适配器 哪种方式更可取?如果首先,那么我怎样才能获得架构位置标签?
更新代码示例 假设我们有 bean
@XmlRootElement
public class Foo{
String bar;
public String getBar() {return bar; }
public void setBar(String bar) {this.bar = bar;}
}
Run Code Online (Sandbox Code Playgroud)
和生成模式的代码,然后保存 Foo 的实例并加载。
public class Test {
final static String schemaLoc = "fooschema.xsd";
public static void write(File file, Foo foo, Schema schema) throws Throwable {
XMLEventWriter xsw = null; …Run Code Online (Sandbox Code Playgroud) 我有一个我正在迭代的对象
for (el in object) {
// Some work here
}
Run Code Online (Sandbox Code Playgroud)
我想知道迭代内部的最后一次迭代是什么时候,所以我可以这样做
for (el in object) {
// Some work here
if (last_iteration) {
// Do something
}
}
Run Code Online (Sandbox Code Playgroud)
有任何简单的方法吗?
根据MSDN:
Dictionary.KeyCollection中键的顺序未指定
我假设这是因为字典的添加被放入某种哈希表中.
但是,我想从一个Dictionary中将.Keys集合作为IEnumerable(或者可能是ICollection)从一个方法返回,并按照它们最初添加到Dictionary中的顺序枚举它们.
如何最好地完成这个?
(我使用的是Winforms,.NET 2.0)
我有以下课程:
class Vertex {
public: float X;
float Y;
float Z;
Vertex (float first, float second, float third){
X=first;
Y=second;
Z=third;
}
};
class Obj {
vector<Vertex>vertexCoordinates;
vector<vector<int>> faces;
vector <vector<float>> faceNormals;
vector <vector<float>> faceCenters;
string objName;
int vertexCount, faceCount, edgeCount;
float maxX, minX, maxY, minY, maxZ, minZ, dx, dy, dz;
setVertexCoordinates(vector <Vertex> vertexCoordinatesP) {
vertexCoordinates = vertexCoordinatesP; //??
// How should the assignment be defined?
}
};
Run Code Online (Sandbox Code Playgroud)
我需要在这里创建一个复制构造函数吗?超负荷运营商=的Vertex和Obj?
java ×3
c++ ×2
c# ×1
c++11 ×1
checkstyle ×1
coding-style ×1
custom-draw ×1
delphi ×1
dictionary ×1
drawing ×1
ienumerable ×1
javascript ×1
jaxb ×1
jna ×1
key ×1
lambda ×1
loops ×1
object ×1
oop ×1
php ×1
prolog ×1
remove-if ×1
winforms ×1
xsd ×1