小编fro*_*hli的帖子

图表的自动布局(JGraphX)

我无法显示具有自动布局的JGraphX.

我的程序(下面的代码)创建一个这样的输出: 在此输入图像描述

一个足够的结果可能看起来像这样(我用手移动它们): 在此输入图像描述

我不必坚持JGraphX.我还测试JUNGJGraphT.但到目前为止,这是我最好的结果.我需要的是我的数据视图,其上有定向的eges和一些标签.

我制作了一个示例代码,展示了它是如何创建的.它类似于http://forum.jgraph.com/questions/4810/how-to-layout-nodes-automatically-using-fast-organic-layout.有一个评论从2012年,提到相同的问题"[...]但是我注意到节点有时重叠,你知道一种方法来解决这个问题,我已经玩了属性,它似乎很随意.一般来说如何改善外观的任何建议?"

public class Test extends JFrame {

        public static void main(String[] args) {
                JFrame f = new JFrame();
                f.setSize(800, 800);
                f.setLocation(300, 200);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                final mxGraph graph = new mxGraph();

                mxGraphComponent graphComponent = new mxGraphComponent(graph);
                f.getContentPane().add(graphComponent, BorderLayout.CENTER);

                f.setVisible(true);
                Object parent = graph.getDefaultParent();

                graph.getModel().beginUpdate();
                try {
                        Object start = graph.insertVertex(parent, "start", "start", 100,
                                        100, 80, 30);
                        for (int i = 0; i < 10; i++) {
                                Object a = graph.insertVertex(parent, …
Run Code Online (Sandbox Code Playgroud)

java graph jgrapht jung jgraphx

10
推荐指数
1
解决办法
3661
查看次数

JUnit 5:将 spring 组件注入扩展(BeforeAllCallback / AfterAllCallback)

tl;dr:如何在所有测试运行之前将自定义数据提供程序实例化为 Spring 组件?

是否有一种聪明的方法可以将 Spring 组件注入到实现 的自定义 JUnit Jupiter 扩展中BeforeAllCallback?该beforeAll方法应该在MyTestClass执行之前触发一个复杂的过程@ExtendWith(OncePerTestRunExtension.class)

我创建了一个 Spring Boot 应用程序 ( src/main/java),它为我的测试 ( src/test/java) 提供了必要的数据。为测试准备数据可能需要长达几个小时的时间。它还使我可以抽象访问一些休息端点。

在所有测试类的过程之间,数据不会改变。所以我只想提取一次数据。

只在一个类中编写所有测试是可行的,但我认为分成不同的类可以提供更好的概览。

java junit spring-boot junit5

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

如何在Perl中轻松地解析<div class ="foo">和</ div>

我想将网站解析为Perl数据结构.首先我加载页面

use LWP::Simple;
my $html = get("http://f.oo");
Run Code Online (Sandbox Code Playgroud)

现在我知道两种方法来处理它.首先是正则表达式并对模块进行限制.

我开始阅读HTML :: Parser,并找到了一些例子.但我对Perl的知识并不确定.

我的代码示例继续

my @links;

my $p = HTML::Parser->new();
$p->handler(start => \&start_handler,"tagname,attr,self");
$p->parse($html);

foreach my $link(@links){
  print "Linktext: ",$link->[1],"\tURL: ",$link->[0],"\n";
}

sub start_handler{
  return if(shift ne 'a');
  my ($class) = shift->{href};
  my $self = shift;
  my $text;
  $self->handler(text => sub{$text = shift;},"dtext");
  $self->handler(end => sub{push(@links,[$class,$text]) if(shift eq 'a')},"tagname");
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么有两次换班.secound应该是自我指针.但第一个让我觉得自我引用已经全部变为shiftet,用作Hash并且href的值存储在其中$class.有人可以解释这一行(my ($class) = shift->{href};吗?

除了这种缺乏,我不想来解析所有的URL,我想把之间的所有代码<div class ="foo"></div>成一个字符串,其中大量的代码之间,特别是其他<div></div>标签.所以我或模块必须找到正确的结束.之后,我计划再次扫描字符串,找到特殊的类,比如<h1>,<h2>, <p class …

html perl parsing

6
推荐指数
3
解决办法
5318
查看次数

getResourceAsStream("path")的背景

我有这样的文件夹结构.

Project/src/folder/folder/folder/xyz.java
       /img/background.jpg
Run Code Online (Sandbox Code Playgroud)

我想将background.jpg放入JPanel中xyz.java.仅为背景.而且我已经完成了

    private ImageIcon createImageIcon(String path, String description) {
    java.net.URL imgURL = getClass().getResource(path);

    if (imgURL != null) {
        return new ImageIcon(imgURL, description);
    } else {
        System.err.println("Couldn't find file: " + path);
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

但问题是图像必须与xyz.java 我搜索的文件夹在同一文件夹中,并发现这可以解决,getResourceAsStream("path")但我无法提出足够的知识来解决这个问题.这对我很重要,因为我想在不同的操作系统上将我的程序作为*.jar文件运行.

我的问题是我不明白getRessourceAsStream("path")应该如何工作不同.我发现没有适合我的教程.似乎大多数人将它用于不同的.jar文件或Applet.我不知道Stream可以做什么,getRessourceAsStream("path")在哪里启动(意味着我如何编写路径).缺乏知识......

编辑:我找到了一个解决方案,我不必给出总路径. img = ImageIO.read(getClass().getResource("../../../../img/bg_1.jpg")); 我没有测试它,但它也应该在其他系统上运行.但问题是,我只能在日食中启动我的程序.当我将它导出到*.jar文件时,它会很好但它不会加载图片.即使我已经setPreferredSize,它也会将窗口缩小到最小.所以我应该可以使用Stream解决方案.但现在是床上用品.

编辑:当我将图像放入包中时,相对路径工作正常.不是我真正想要的,但在6小时后猜测这个小问题我不得不带一些鱼在我的海洋中游泳......

java icons swing background jlabel

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

Haskell中的数组定义了类型(不是数据)

type Array a = Int -> a

emptyArray :: Array a
emptyArray i =
  error ("Access to non-initialized index " ++ show i)

putIndex :: Array a -> Int -> a -> Array a
putIndex ar i v = ar'
 where ar' j | j==i      = v
             | otherwise = ar j

getIndex :: Array a -> Int -> a
getIndex a i = (a i)
Run Code Online (Sandbox Code Playgroud)

我不明白emptyArrayputIndex功能.问题是:

  • 什么是ar'的类型
  • ar'模式何时匹配?
  • 什么时候j==i
    • v是类型a还是?在这种情况下,它不会返回一个数组. …

arrays haskell

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

Java Lambda Expression中的XOR,用于布尔值列表

我开始尝试使用Labda Expressions来实现布尔值,以获得布尔输入参数列表.对于"或"和"和",我写了以下声明:

要么: expressions.stream().anyMatch(e -> e.evaluate(input));

和: expressions.stream().allMatch(e -> e.evaluate(input));

e.evaluate(input)返回true或false.但是由于没有已经实现的onceMatch方法,我坚持使用XOR.

第一个想法是过滤所有真值并检查它是否只是一个:

return expressions.stream().filter(e -> e.evaluate(input) == true).collect(Collectors.counting()) == 1;
Run Code Online (Sandbox Code Playgroud)

但我想在一个lambda表达式中看到它.

java lambda xor

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

C程序不在Windows上执行.它在Unix上运行

我完成了一个给定的代码示例作为家庭作业,它在我的64位OS X设备(使用gcc编译)上工作正常.但它不会在我的Windows 8 64位机器上执行(用MinGW编译 - gcc).我在两台机器上都使用了gcc sort.c -Wall -Wextra.不执行意味着程序在无限循环中停留在第64行.此外,我认识到这发生在第64行的循环达到11 之后.

它也可以在Codepad上运行(http://codepad.org/BoLhqtzv).

我尝试使用不同的指针算术方法来访问数组,但没有一个工作.

程序对一个长度为n的数组x进行排序.在数组x中就像一个包.所以可以多次出现一个数字.函数sort获取Array x的长度,数组x上的指针和不同数字的计数(10:从0到9).诀窍是,数组muh知道数字x中出现的数字的频率.这是有效的,因为x中的数字是连续的N(自然数).

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

#define M 10

/* This function generates an array of random integers in the range [0,M-1] of length n. */
int* random_array(const int n) {
  int *x;
  int i;

  x = (int*) malloc(n * sizeof(int));

  srand(time(NULL ));

  for (i = 0; i < n; i++) { …
Run Code Online (Sandbox Code Playgroud)

c arrays sorting algorithm

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

标签 统计

java ×4

arrays ×2

algorithm ×1

background ×1

c ×1

graph ×1

haskell ×1

html ×1

icons ×1

jgrapht ×1

jgraphx ×1

jlabel ×1

jung ×1

junit ×1

junit5 ×1

lambda ×1

parsing ×1

perl ×1

sorting ×1

spring-boot ×1

swing ×1

xor ×1