小编vah*_*eza的帖子

如何在 JavaFX 中渲染具有连接字形的波斯语或阿拉伯语文本

我想用 JavaFX 显示文本。该消息是波斯语或阿拉伯语。然而,如此处所述波斯语或阿拉伯语字母的表示形状取决于其相邻字母。

如果我构建一个包含整个消息的TextFlow单个消息,它会正确显示。Text但是当我将它分割成多个Texts 时,消息就被破坏了。

在此输入图像描述

例如,以下代码片段产生上图:

public class HelloFX extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        Font font = new Font("Arial", 48);

        String message = "\u0627\u0644\u0633\u0644\u0627\u0645  \u0639\u0644\u064a\u0643\u0645";
        TextFlow textFlow1 = new TextFlow();
        Text text1 = new Text(message);
        text1.setFont(font);
        textFlow1.getChildren().addAll(text1);

        TextFlow textFlow2 = new TextFlow();
        for (int i = 0; i < message.length(); i++) {
            char ch = message.charAt(i);
            Text text2 = new Text(ch + "");
            if (i % …
Run Code Online (Sandbox Code Playgroud)

javafx arabic right-to-left farsi arabic-support

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

使用Gradle构建战争,使用IntelliJ IDEA进行调试

我有在IntelliJ IDEA中开发的JavaEE webapp项目(名为ProjectA).它有build.gradle文件应用war插件:

apply plugin: 'war'
Run Code Online (Sandbox Code Playgroud)

我想调试(或运行)gradle生成的war文件,而不是调试自动生成的intellij工件.对我来说非常重要的是我可以更新调试期间更改的类而无需重启服务器.

在此输入图像描述

我该怎么做?

注意 :

1)在gradle插件选项卡中单击刷新按钮时(刷新所有Gradle项目)Intellij更新所有项目配置(例如模块依赖项)并生成工件.我将其称为自动生成的intellij工件. 在此输入图像描述

为了运行它,我应该只创建新的本地Tomcat服务器配置并将工件添加到部署选项卡. 在此输入图像描述

在此输入图像描述

2)此外,还有一些gradle任务(清理,构建,战争等).我可以执行构建任务战争任务生成war文件.我称之为gradle生成的war文件.

intellij-idea gradle intellij-14

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

在SpringMVC的上下文中,如何使用提供同一类的不同JSON表示的Web服务?

我有一个数据类,如下所示:

public class Person {
   private String name;
   private Long code;

   // corresponding getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我想编写两个Web服务,提供两个不同的JSON表示形式的Person.例如,其中一个提供{"name":"foo"}但另一个提供{"name":"foo", "code":"123"}.

作为一个更复杂的场景,假设Person有一个引用属性,例如address.地址也有自己的属性,我希望我的两个Web服务都考虑这个属性,但每个属性都以自己的方式执行.

我的SpringMVC视图应该如何?

请注意,我是SpringMVC的新手.请在答案旁边给我一个示例代码.

更新1:几天后,所有答案都促使我解决控制器中的问题或通过注释数据类.但我希望在视图中执行此操作,而不再使用java代码.我可以在JSP文件或百万美元模板甚至.properties文件中执行此操作吗?

更新2:我找到了json-taglib.但不知何故,它被排除在新的升级之外.有没有类似的解决方案?

java json spring-mvc spring-restcontroller

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

GroovyAST 在编译时添加泛型字段

我想在编译时向某些类添加通用字段。为了这个目标,我按照官方文档实现了我自己的 AST 注释和转换类,并使用 AST 注释来注释所需的类。

但我在编译时收到此错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败:/home/.../groovy/Sample.groovy:-1:转换直接使用包含 ClassNode java.util.HashSet 的泛型作为字段 x。你不应该这样做。请参考旧的 ClassNode 创建一个新的 ClassNode,并使用新的 ClassNode 代替旧的 ClassNode。否则,编译器将在 OpenJDK 的 TypeResolver 中创建错误的描述符和潜在的 NullPointerException。如果这不是您自己做的,请将此错误报告给转换的作者。@ 第 -1 行,第 -1 列。

我做错了吗?

示例代码

例如,假设我想向每个通过注释进行注释的类添加一个HashSet<Long>名为的字段。xMyAST

我的 AST 注释类:

@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
@GroovyASTTransformationClass(classes = [MyASTTransformation.class])
public @interface MyAST {
}
Run Code Online (Sandbox Code Playgroud)

我的 AST 转换类:

@CompileStatic
@GroovyASTTransformation(phase = CompilePhase.SEMANTIC_ANALYSIS)
public class MyASTTransformation implements ASTTransformation {

@Override
public void visit(ASTNode[] nodes, SourceUnit sourceUnit) {
     ClassNode clazz = (ClassNode) nodes[1];
     ClassNode longHashSetClass = new ClassNode(HashSet.class); …
Run Code Online (Sandbox Code Playgroud)

generics groovy bytecode abstract-syntax-tree groovyc

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