小编pde*_*dem的帖子

在Java 8/jsr310中格式化持续时间

我正在将项目从Joda-Time过渡到java8的本地时间库,我遇到了麻烦.我一直无法找到持续时间的格式化程序.我想有一个自定义字符串格式,例如,HHH + MM,其中75小时和15分钟的持续时间格式为"75 + 15".通过转换为句点并使用PeriodFormatter,使用Joda-Time很容易,但我无法在Java8中找到这种类型的类.我错过了什么吗?

java duration jodatime java-8 java-time

37
推荐指数
4
解决办法
3万
查看次数

如何使用自定义日期和 apache CXF 生成正确的 WSDL,仅使用注释

我正在使用来自 org.threeten.bp 库的自定义日期,但它应该与 Joda Time 相同,或者我猜是 Java8 次。

我能够使用自定义日期表单 Threeten 模块开发我的 Web 服务,使用 JAXB 适配器从/到 LocalDate 类型进行编组。

这是我的问题,webservice 使用soapui 或其他程序运行得非常好,但是暴露的WSDL 给了我一个String 类型而不是dateTime

<xs:complexType name="MyDTO">
<xs:sequence>
<xs:element minOccurs="0" name="testDate" type="xs:string"/>
<xs:element minOccurs="0" name="code" type="xs:string"/>
<xs:/sequence>
<xs:/complexType>
Run Code Online (Sandbox Code Playgroud)

我期待type="xs:dateTime"为我的日期,但我得到了 type="xs:string"

物体:

public class MyDTO implements Serializable {
    public LocalDateTime testDate;
    public String code;
}
Run Code Online (Sandbox Code Playgroud)

我尝试在 package-info.java 级别使用注释:

@javax.xml.bind.annotation.XmlSchemaTypes({ 
    @javax.xml.bind.annotation.XmlSchemaType(name = "dateTime", type = org.threeten.bp.LocalDate.class),
    @javax.xml.bind.annotation.XmlSchemaType(name = "dateTime", type = org.threeten.bp.LocalDateTime.class),
    @javax.xml.bind.annotation.XmlSchemaType(name = "dateTime", type = org.threeten.bp.LocalTime.class) })
@javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters({
    @XmlJavaTypeAdapter(type …
Run Code Online (Sandbox Code Playgroud)

java wsdl web-services cxf jaxb

5
推荐指数
0
解决办法
957
查看次数

是否可以在javafx中的"fx:define"中使用变量分辨率

我试图用fx:define定义动态评估变量,但我不能从另一个变量得到一个变量,我不知道它是否可能?

<GridPane hgap="${10*m.dp}" vgap="${10*m.dp}" xmlns="http://javafx.com/javafx/8.0.51" xmlns:fx="http://javafx.com/fxml/1">
    <fx:define>
        <Measurement fx:id="m" />
        <!-- This works, but is not what I need -->
        <Double fx:id="width" fx:value="300" />
        <!-- This doesn't work -->  
<!--        <Double fx:id="width" fx:value="${300*m.dp}" /> -->
    </fx:define>
    <padding>
        <Insets bottom="$width" left="$width" right="$width" top="$width" />
    </padding>
    <Text text="hello" />
    <Button GridPane.rowIndex="1" text="button" prefWidth="${300*m.dp}" />
    <Button GridPane.rowIndex="2" text="button2" prefWidth="$width" />
</GridPane>
Run Code Online (Sandbox Code Playgroud)

我想要的是从我的计算dp计算宽度(密度独立像素 - 高清屏幕中的值为1,4K屏幕中为2,宽度为1600px的屏幕上为0.xx).我想要的"宽度"变量在我的实际情况中用于很多组件,这就是为什么我想要一个变量 - 简洁.

运行它的java代码

public class Measurement {
  private double dp;

  public Measurement(){
    Screen primary = Screen.getPrimary();
    dp=primary.getBounds().getWidth()/1920;
  }

  /** …
Run Code Online (Sandbox Code Playgroud)

javafx-8

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

如何在 Java 9 中使用类加载器访问资源

我在 Eclipse 中有一个 gradle 项目。这是我的项目的结构

项目结构

我在 .cssstyleclass.css中有 css 资源scr/main/resources/css。首先我尝试使用访问它

scene.getStylesheets().add("css/styleclass.css"); 
Run Code Online (Sandbox Code Playgroud)

但是我收到警告resource not found.我也通过删除module-info.java文件来尝试它。但结果是一样的。

然后我尝试使用

String urlString = ComboBoxStyling.class.getClassLoader().getResource("css/styleclass.css").toExternalForm();
Run Code Online (Sandbox Code Playgroud)

问题是,如果我删除moduele-info.java并应用样式表,这条线会起作用。但是随着module-info.java我收到空指针异常。

我知道的不多,但至少我知道类加载器在 Java 9 中有变化。那么我如何在 Java 9 中做同样的事情。我的module-info.java文件包含以下内容

module pk.training.basit {
    exports pk.training.basit;
    requires transitive javafx.controls;
}
Run Code Online (Sandbox Code Playgroud)

感谢和问候

巴斯特·马哈茂德·艾哈迈德

java javafx classloader java-9

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

使用Java流按相同类型的2个键分组

使用java流,如何在同一类上通过2个键从列表创建索引索引?

我在这里给出一个代码示例,我希望地图“ personByName”通过firstName或lastName获取所有人,所以我想获取3个“ steves”:当它们是firstName或lastname时。我不知道如何混合使用2个Collectors.groupingBy。

public static class Person {
    final String firstName;
    final String lastName;

    protected Person(String firstName, String lastName) {
        super();
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

}

@Test
public void testStream() {
    List<Person> persons = Arrays.asList(
            new Person("Bill", "Gates"),
            new Person("Bill", "Steve"),
            new Person("Steve", "Jobs"),
            new Person("Steve", "Wozniac"));

    Map<String, Set<Person>> personByFirstName = persons.stream().collect(Collectors.groupingBy(Person::getFirstName, Collectors.toSet()));
    Map<String, Set<Person>> personByLastName = persons.stream().collect(Collectors.groupingBy(Person::getLastName, Collectors.toSet()));

    Map<String, Set<Person>> personByName …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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

使用 Javascript 将复杂的 HTML 动态添加到 div

我有一个网页,列出了很多元素(具体来说是电影),每个项目的 HTML 结构在某种程度上都是大而复杂的(div、图像、链接、CSS 类等)。

首先我加载 100 个元素,用户可以选择加载下 100 个元素(这是使用无限滚动制作的):现在,我制作了一个 AJAX 请求,请求另外 100 个元素,它以 HTML 文本(所有这些元素)响应加载),我只是将它附加到文档中。

但是,现在我不想用 HTML 文本响应,而不是我想用 JSON 中的 100 个元素数据响应(我可以做到),然后,我的问题是:哪个是添加的最佳方式使用Javascript将这些元素添加到文档中?

我知道我可以遍历 JSON 数组并构造每个元素,但正如我所说,它是一个很大的 HTML 结构,我真的不想创建 div,然后使用 Javascript 将其附加到另一个 div、设置 CSS 类等,因为它可能会变得无序、凌乱和非常大......所以,javascript 中有一种方法可以使用模板之类的东西来实现这一点?我怎样才能做到这一点?我只想得到一个干净更好的代码。

每部电影的结构都是这样的(我可以像模板一样使用它吗?):

 <div data-section="movies" data-movie_id="myid" id="movie-id" class="movie anotherclass">
        <img src="myImageUrl">
        <div class="aCSSclass">
            <div class="aCSSclass">
                <div class="aCSSclass"></div>
                <div class="aCSSclass">
                    <div class="aCSSclass">
                        Movie title
                    </div>

                    <div class="details form-group">
                        <a class="aCSSclass" href="myHref">Details</a>
                        <button onclick="SomeFunction" class="aCSSclass">My button</button>
                        <div class="aCSSclass"><span class="icon star"></span><span class="aCSSclass"></span><span class="aCSSclass"></span><span class="aCSSclass"></span><span class="aCSSclass"></span></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery json

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

JQuery - 在点击时添加和删除类

$('.toggle-button').on('click', function() {
    $('body').addClass('changeCursor');
  });

  $('.toggle-button.toggle-active').on('click', function() {
    $('body').removeClass('changeCursor');
  });
Run Code Online (Sandbox Code Playgroud)

嘿家伙我需要在身体上添加课程,并应该再次点击它删除.我上面附上了我的代码.但它没有用,请通过更清晰的说明.谢谢 :)

html javascript css jquery

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