小编nag*_*lzs的帖子

Vaadin 7组合框 - 如何在键入文本时填充和下拉?

我有一个应用程序,其中包含各种数据库记录的编辑器.这些记录是相互引用的.我正在开发一个基于ComboBox的新的自定义数据感知组件:

public abstract class CustomDbLookupField<T> extends CustomField<T> implements Field<T> 
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

  • 该组件看起来像一个组合框(我可以轻松地做到这一点)
  • 当相应的字段有行id值时,组件显示该引用记录的文本表示(我也可以这样做)
  • 当用户开始在组合框中键入文本时,我想在数据库中搜索关键字,并用这些项填充组合框,然后让
  • 为他下拉组合框,然后从结果中选择

我似乎无法完成最后两部分.我想将监听器绑定到"文本键入组合框"事件,但我找不到任何方法.此外,我不知道如何获取刚刚输入的文本.我正在尝试这样做:

cmb.addListener(com.vaadin.event.FieldEvents.TextChangeEvent.class,target, method);
Run Code Online (Sandbox Code Playgroud)

但我不知道参数target和method要传递什么.

java combobox vaadin7

4
推荐指数
1
解决办法
4105
查看次数

JFreeChart自定义x轴标签

我有多个系列的数据。

  • 系列的年份:2013、2014、2015等。
  • 数据是给定年份内的日期+值。
  • 因为数据需要按年份分类,所以我在x轴上使用“一年中的天”值,范围在1到366之间。给定年份的值如下所示:(1,80),(30,100) ,(60,71).....(255,130)

示例图:

在此处输入图片说明

我的问题是X轴包含“一年中的某天”值,但是我必须在其中放置月份名称。不幸的是,不能使用简单的DateAxis,因为X值是日期数字(不是日期),并且AFAIK没有日期格式可以将“ 335”转换为“ December”。DateAxis的另一个问题是它表示时间点,并且为任何时间点提供单独的X轴标签。但是我需要写出准确时间点的标签。即:仅在月初。我真正想要的是这样的:

在此处输入图片说明

例如,我不想显示一个月的开始/结束,而是显示区域。更难的是,月份的长度不同。由于2月在leap年有29天,我想我将不得不使用定点(一年中的天数值)。

为此,我是否需要编写自定义轴渲染器?怎么样?我的问题有更简单的解决方案吗?

java jfreechart axis-labels

4
推荐指数
1
解决办法
5000
查看次数

TypeScript - tsx 文件中无法识别类型参数?

我有一个名为“test.ts”的示例文件,其中包含以下代码:

const test = <T>(a: string) => { return a; } ;
Run Code Online (Sandbox Code Playgroud)

有用!如果我将文件重命名为“test.tsx”,则 Visual Studio Code 将 T 参数标记为红色,并给出以下错误:

[ts] Cannot find name 'T'.

[ts] JSX element 'T' has no corresponding close tag.
Run Code Online (Sandbox Code Playgroud)

我必须使用 .tsx 扩展名,因为实际代码需要返回 JSX 元素。我还必须使用类型参数。但我怎样才能两者兼得呢?

generics jsx typescript

4
推荐指数
1
解决办法
2147
查看次数

如何使用psycopg3创建数据库?

这不起作用:

conn = psycopg.connect(dsn)
conn.execute("CREATE DATABASE test")
Run Code Online (Sandbox Code Playgroud)

以下是有关 psycopg3 中交易的文档:https://www.psycopg.org/psycopg3/docs/basic/transactions.html

对于这个问题最重要的说法是:

与 psql 相比,Psycopg 的行为可能看起来令人惊讶:默认情况下,任何数据库操作都会启动一个新事务。

这是一个相当长的页面,但它没有告诉任何地方如何在不启动新事务的情况下执行语句。有一个autocommit=True论据connect(),但它也不起作用。

无论我做什么,我总是会收到此错误:

psycopg.errors.ActiveSqlTransaction: CREATE DATABASE cannot run inside a transaction block
Run Code Online (Sandbox Code Playgroud)

如何使用 psycopg3 创建数据库?

python psycopg2 python-3.x psycopg3

3
推荐指数
1
解决办法
1912
查看次数

List <T>上的泛型类型兼容性错误,T为接口

我有这个java代码:

tgia = new ThumbsGalleryAdapter(this, profilePositionsOverlay.items);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

构造函数ThumbsGalleryAdapter(SharePositionMapActivity,List)未定义SharePositionMapActivity.java /com.shopzeus.android.majorforms.activity.MainActivity/src/com/shopzeus/android/majorforms/activity line 114 Java问题

构造函数ThumbsGalleryAdapter是:

public ThumbsGalleryAdapter(Activity aActivity, List<ThumbsGalleryItem> aItems)
Run Code Online (Sandbox Code Playgroud)

类型profilePositionsOverlay.items:

List<SharedPositionMapItem>
Run Code Online (Sandbox Code Playgroud)

名称ThumbsGalleryItem是指一个界面:

public interface ThumbsGalleryItem {
    public String getTitle();
    public String getRemotePath();
}
Run Code Online (Sandbox Code Playgroud)

最后,SharedPositionMapItem是一个实现ThumbsGalleryItem的类:

private static class SharedPositionMapItem extends OverlayItem implements ThumbsGalleryItem
Run Code Online (Sandbox Code Playgroud)

问题是,当然:为什么List<SharedPositionMapItem>不兼容类型List<ThumbsGalleryItem>?因为SharedPositionMapItem implements ThumbsGalleryItem,我希望它们兼容.解决办法是什么?

java

2
推荐指数
2
解决办法
91
查看次数

如何在scipy中模拟双样本t检验

我试图在Python中模拟MS Excel的t-probe函数.我需要这样做,因为我必须自动执行以前在Excel中完成的一些计算.这是我的测试程序:

import scipy.stats
a = [5, 0.9,  -0.4, -0.9, 0.5, 0.8, 0.2, 0.2, 0, -0.8]
b = [1.1, 0.9, -0.5, -0.7, 0.6, 0.7, 0.3, 0.1, -0.1, -0.7]

print scipy.stats.ttest_ind(a,b, equal_var=True)
Run Code Online (Sandbox Code Playgroud)

这是结果:

(array(0.6661542796363409), 0.51376033318001801)
Run Code Online (Sandbox Code Playgroud)

但是,Excel为同一输入提供此值:0.35844407

我注意到他们使用了tail = 2参数(参见http://office.microsoft.com/en-us/excel-help/ttest-HP005209325.aspx).不幸的是,我不知道如何用scipy计算双尾t检验.(事实上​​我不知道它是什么.)

另一个非常奇怪的事情是,在scipy中,当我改变样本的顺序时,我会得到一个明显不同的结果.例如,如果我将-0.7移动到b的头部,那么我得到0.51376033318001824而不是0.51376033318001801.没有太大的区别,但仍然.

对于Excel来说,这是一个全新的故事 - 当样本的顺序不同时,看起来双尾t检验给出了截然不同的结果.

问题是:如何在scipy中模拟Excel的双尾t检验版本?

python math statistics excel-formula scipy

2
推荐指数
1
解决办法
2768
查看次数

在对象pascal中声明一个接口并将其用作返回值

使用Delphi 7.这是一个(不完整的)示例,演示了我的问题:

interface
uses Classes, Contnrs;

type
   IEditorModule = interface;
   procedure Method1;
   procedure Method2;
   end;

   TEditorModuleList = class(TList)
   protected
    function GetItem(Index: Integer): IEditorModule;
    procedure SetItem(Index: Integer; const Value: IEditorModule);
   public
    property  Items[Index: Integer]: IEditorModule
      read GetItem write SetItem; default;   
   end;

implementation

function TEditorModuleList.GetItem(Index: Integer): IEditorModule;
begin
  Result := IEditorModule(inherited Items[index]);
end;
Run Code Online (Sandbox Code Playgroud)

无法编译,因为我收到此错误:

[错误] LEditorModule.pas(73):不兼容的类型:'IEditorModule'和'TObject'

声明新TList后代的主要原因是能够执行以下操作:

aModuleList[3].Method1;
Run Code Online (Sandbox Code Playgroud)

什么样的语法允许我将对象强制转换为接口(而不是具体的类)?事实:

  • 我不能让TEditorModule成为一个类.它需要是一个接口,因为完全不同的层次结构中的类将实现它.
  • 我需要一个类来存储实现IEditorModule接口的对象列表的引用.

我该怎么做呢?

delphi delphi-7

2
推荐指数
1
解决办法
317
查看次数

为什么我的win32程序需要提升?

我有一个非常简单的程序,用于自动更新.它检查服务器上的可用版本(HTTPS),下载新更新并运行(可能更新的)程序.这是一个用Delphi 7编写的旧程序.看来这个程序需要在Windows 8和Windows 10下提升(以管理员身份运行).这是一个问题,因为一旦程序升级,它也会启动更新的程序升级,这非常糟糕.

程序代码非常简单,它只包含来自服务器的Indy组件(TIdHTTP),而ShellAPI则执行他下载的程序,一些IniFiles和一个进度条.

所以问题是:如何找出需要提升的API调用,以及如何替换它?是否有调试器可以告诉什么API调用(在什么代码地址)需要提升?

windows delphi winapi

2
推荐指数
1
解决办法
482
查看次数

如何在 Windows 10 上构建 node-gyp?

Windows 10 上的命令:

npm i pg-native
Run Code Online (Sandbox Code Playgroud)

抛出此构建错误:

? npm i pg-native                                                                                                                      

> libpq@1.8.7 install C:\Users\User\MyProject\frontend\node_modules\libpq                                                      
> node-gyp rebuild                                                                                                                     


C:\Users\User\MyProject\frontend\node_modules\libpq>if not defined npm_config_node_gyp (node "C:\Users\User\AppData\Roaming\npm
\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users
\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )                                            
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.                            
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(55,5): error MSB8020: The build tools for Visual 
 Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, please install …
Run Code Online (Sandbox Code Playgroud)

postgresql node.js

2
推荐指数
1
解决办法
3535
查看次数

在TypeScript中获取intance的类

如何在TypeScript中获取实例的类?这个问题类似于在运行时在TypeScript中获取对象的类名,但我不想获取类名.我想要上课.

我需要这个吗?TypeScript没有类方法,只有静态方法.但它们不是虚拟的.为了将我的心智模型完全转换为Js代码,我需要有虚拟类方法.

我的想法是做这样的事情:

function classOf<T>(o: T) : any {
    return o.class; // How to write this???
}

class Foo {
    static tryMe() : string {
        return "foo";
    }

}

class Bar extends Foo {
    static tryMe() : string {
        return "bar";
    }

}

function testPolymorphClassMethod(instance : Foo) {
    console.log(classOf(instance).tryMe());
}

testPolymorphClassMethod(new Foo()); // Should print "foo"
testPolymorphClassMethod(new Bar()); // Should print "bar"
Run Code Online (Sandbox Code Playgroud)

只要具体类可用,我就可以直接调用它的静态方法.如果只有一个实例可用,我想调用它的类的静态方法,例如手动虚拟.

问题是我不知道如何编写classOf函数.它可能根本不可能.

我也在尝试这个:

function classOf<T>(o: T) : typeof T {
    return typeof o;
}
Run Code Online (Sandbox Code Playgroud)

但它给出了一个comiple错误:

"T仅指类型,但在此处用作值". …

class-method typescript

2
推荐指数
1
解决办法
1904
查看次数