小编m4t*_*4tx的帖子

用Java制作整数键映射是否可以?

就像标题一样.做这样的事情是可以的:

HashMap<Integer, Object> foo = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

或者可能有更好的容器允许在任何索引处添加值?当说"更好"时,我的意思是"拥有更好的性能",然后"使用更少的RAM".

ArrayList<Object> bar = new ArrayList<>();
bar.add(10_000, new Object());
Run Code Online (Sandbox Code Playgroud)

想要在上面的代码中做一些事情,但这当然不适用于ArrayList.我想做的清单很稀疏; 索引是传播的 - 这就是我考虑HashMap而不是ArrayList的原因.

问候.

java indexing arraylist map

7
推荐指数
1
解决办法
268
查看次数

多平台应用程序启动器

是否有任何应用程序可以创建Java应用程序的本机应用程序启动器?作为"本机"术语,我的意思是"看起来像普通的,依赖于平台的应用程序,只启动java -jar foobar.jar,如果没有安装JVM则显示错误".我听说过Launch4j,但它只适用于Windows.我想要多平台(Win + Lin + Mac)解决方案.我不是在讨论shell脚本; 我想要正常的可执行文件.

顺便说一句,Eclipse看起来它有类似我想要的东西.

问候.

java native multiplatform launcher

6
推荐指数
1
解决办法
1326
查看次数

在Chrome扩展程序中将文字复制到剪贴板

我正在编写Google Chrome扩展程序,我想在内容脚本中复制剪贴板中的一些文本.我尝试选择它然后document.execCommand('copy')- 它不起作用.我不想要Flash,因为实现这一点并不容易和优雅.我尝试了背景页面和<input> - 它不起作用.

在Chrome扩展程序中是否有任何工作,优雅和简单的方法将文本复制到剪贴板?它也可能使用jQuery.

问候

javascript clipboard jquery google-chrome add-on

6
推荐指数
1
解决办法
3600
查看次数

GTK滚动窗口 - 滚动到底部

我正在使用GTK +编写应用程序,我遇到了问题.我正在使用GTK滚动窗口,我必须将垂直滚动条滚动到底部,但我不知道,如何.我在寻找谷歌,但我一无所获.

c++ gtk scrolledwindow

5
推荐指数
1
解决办法
4056
查看次数

通过指令表达式继承方法

我正在尝试创建一个具有"加载"状态的可重用按钮指令.也就是说,单击它时会禁用自身并显示内嵌图像以表示加载,然后在完成时将其删除.我这样做是通过在click方法中设置一个范围变量并取消设置它来改变按钮的状态.

我想要点击它在父作用域中时调用的方法,并且我还希望它挂钩到父作用域的验证,因此当父表单无效时它会自动禁用它.这些是我开始工作有困难的部分 - 我知道我的问题与范围有关,但我被困住了.

<loading-button class="login" data-ng-click="login()" text="Login" toggle="loaded"></loading-button>
Run Code Online (Sandbox Code Playgroud)

我希望做类似下面的事情,但是如何绑定在指令实例上声明的click方法实际上从指令调用?或者,这是不好的做法?这目前不起作用.

angular.module("App.directives").directive("loadingButton", function () {
return {
    restrict: "E",
    replace: true,
    transclude: true,
    template: '<button data-ng-click="{{ngClick}}">{{text}}<img class="loading" src="images/ButtonLoader.gif" alt=""></button>',
    scope: {
        "toggle": "=",
        "text": "=",
        "ng-disabled": "=",
        "disabled": "=",
        "ngClick": "&"
    },
    link: function(scope, element, attributes) {
        scope.text = attributes.text;
        var expression = attributes.toggle;

        scope.$watch(expression, function(newValue, oldValue) {
            if(newValue === oldValue) {
                return;
            }

            if(newValue) {
                element.removeAttr("disabled");
                element.find("img.loading").hide();
            }
            else {
                element.attr("disabled", "disabled");
                element.find("img.loading").show();
            }
        });
    }
  };
});
Run Code Online (Sandbox Code Playgroud)

在父作用域中使用如下:

$scope.login …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

5
推荐指数
1
解决办法
163
查看次数

Django REST Framework中的camelCase POST数据

我看到有一个名为djangorestframework-camel-case的项目,允许在Django REST序列化程序中使用带有下划线字段的JavaScript-ish camelCase.所以,基本上,我可以发送:

{
    "camelCase": "foo"
}
Run Code Online (Sandbox Code Playgroud)

并使用以下Serializer接收它:

class MySerializer(serializers.Serializer):
    session_id = serializers.CharField()
Run Code Online (Sandbox Code Playgroud)

是否存在类似POST数据的内容?所以我可以camelCase=foo通过POST 发送并将其接收到我的序列化器中的underscore_case字段?

我尝试基于FormParser实现自己的解析器:

class CamelCaseFormParser(FormParser):
    media_type = 'application/x-www-form-urlencoded'

    def __init__(self):
        print("initialized")

    def parse(self, stream, media_type=None, parser_context=None):
        print("parse")
        ...
Run Code Online (Sandbox Code Playgroud)

并且,在将其添加到DEFAULT_PARSER_CLASSESsettings.py中之后,initialized实际打印时,parse则不是.所以看来,在POST数据的情况下,application/x-www-form-urlencoded根本不使用解析器.

由于Serializers的使用方式如下:

Serializer(data=request.data)
Run Code Online (Sandbox Code Playgroud)

我正在考虑继承Serializer并data在进一步处理之前进行修改,甚至在创建Serializer之前修改它.但我要求的是一种更方便的方法,适用于所有的Serializers,而无需对它们进行子类化.

python django rest camelcasing django-rest-framework

5
推荐指数
1
解决办法
1740
查看次数

Django 1.11 - 嵌套 OuterRef 用法

我最近将 Django 更新到了前沿版本 1.11rc1,因为其中引入了子查询功能。

现在,假设这是我的用例:我有以下模型 - 用户、组和权限。因此,我有一些可以分组的用户(例如管理员组)和权限 - 这是可以执行某些操作的用户列表(例如我有用户 A、用户 B 和可以创建新用户的管理员)。我现在想要做的是有效地显示其中包含许多用户的所有权限。换句话说,我想创建一个查询集,它将返回有关权限的所有信息并计算每个权限的用户数量。第一个明显的解决方法是get_user_count为 Permission 模型创建一个方法,该方法将从我的 ManyToMany 关系中返回所有用户,但这将需要每个 Permission 至少 1 个额外的查询,这对我来说是不可接受的,因为我我计划拥有很多权限。这就是我想要使用的地方Subquery

所以,澄清一下 - 这是 models.py:

class User(models.Model):
    name = models.CharField(max_length=20)

class Group(models.Model):
    users = models.ManyToManyField(User)

class Permission(models.Model):
    users = models.ManyToManyField(User)
    groups = models.ManyToManyField(Group)
Run Code Online (Sandbox Code Playgroud)

我想创建一个查询集,它将返回包含多个用户的所有权限。举例来说,假设我只想包含属于我的组的用户 - 所以我会有这样的内容:

groups = Group.objects.filter(permission=OuterRef('pk'))
users = User.objects.filter(group__in=groups)
queryset = Permission.objects.annotate(
    user_no=Subquery(users.annotate(c=Count('*')).values('c'))
)
Run Code Online (Sandbox Code Playgroud)

这里的问题是 myOuterRef无法像“子查询的过滤器的过滤器”中使用的那样被解析:

This queryset contains a reference to an outer query and may only be used in a …
Run Code Online (Sandbox Code Playgroud)

python sql django orm django-1.11

5
推荐指数
1
解决办法
5199
查看次数

如何检测椭圆是否与另一个椭圆/矩形碰撞

我想检测椭圆是否与另一个椭圆和矩形碰撞.我怎么能这样做?

我正在用C++写作.我想用它来玩游戏.

c++ algorithm math ellipse

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

灰色闪屏由于没有重新粉刷

我正在为我的应用程序制作启动画面.它只是由Graphics2D绘制的静态BufferedImage,在JFrame中没有装饰.我的问题是:窗口有时没有正确绘制,这意味着它并不总是包含我的图像,它有时只是灰色.我尝试在第二个线程中创建了启动画面,但它没有帮助.我可以打电话给splashScreen.repaint()每一行,但这是无稽之谈......这是我的代码:

package SeriousSteve.MapEditor;

import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JFrame;

/**
 * Simple splash screen, contains only the image.
 * 
 * @author m4tx3
 */
public class SplashScreen extends JFrame {

    private BufferedImage image;

    /**
     * Constructor. Creates a window with splash screen, loads an image at the
     * URL specified in imageURL, and finally displays this image.
     * 
     * @param imageURL  URL to the image that you want to …
Run Code Online (Sandbox Code Playgroud)

java swing image splash-screen graphics2d

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

你如何在__init__中调用类的方法?

码:

class C:
    def __init__(self, **kwargs):
        self.w = 'foo'
        self.z = kwargs['z']
        self.my_function(self.z)    
    def my_function(self, inp):
        inp += '!!!'

input_args = {}
input_args['z'] = 'bar'
c = C(**input_args)
print c.z
Run Code Online (Sandbox Code Playgroud)

预期结果

bar!!!
Run Code Online (Sandbox Code Playgroud)

实际结果

bar
Run Code Online (Sandbox Code Playgroud)

你如何在init中调用类的方法?

python constructor

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