小编MrY*_*Yui的帖子

如何将类数据类型作为参数传递并将其用于强制转换

我该如何解决这个问题:

private <T> void myFunction(float value, Class<T> classType){
  System.out.println("Value = + (classType) value);
}

Java Main(){
  myFunction(3.214, Float.class);
  myFunction(432.13, Integer.class);
}
Run Code Online (Sandbox Code Playgroud)

我期待输出:

3.214
432
Run Code Online (Sandbox Code Playgroud)

但现在,我得到了错误。不能classType用于铸造。

java generics casting

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

如何增加 Vaadin 中的最大文件上传数 - Spring Boot

我正在尝试在 Vaadin 14.4.2 中上传文件

        MemoryBuffer loadWeightsBuffer = new MemoryBuffer();
        Upload loadWeightsButton = new Upload(loadWeightsBuffer);
        loadWeightsButton.setMaxFiles(1);
        loadWeightsButton.setDropLabel(new Label("Load weights"));
        loadWeightsButton.setMaxFileSize(500000000);
        loadWeightsButton.addFileRejectedListener(event -> {
            writeToTerminal(event.getErrorMessage());
        });
        loadWeightsButton.addSucceededListener(event -> {
            saveFile(event.getMIMEType(), event.getFileName(), loadWeightsBuffer, WEIGHTS);
        });
Run Code Online (Sandbox Code Playgroud)

但是当我上传大文件时出现此错误。

org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (44948839) exceeds the configured maximum (10485760)
Run Code Online (Sandbox Code Playgroud)

我尝试添加这个但application.properties没有成功。如何增加 Vaadin 中的上传大小?

spring.http.multipart.max-file-size=500MB
spring.http.multipart.max-request-size=500MB
Run Code Online (Sandbox Code Playgroud)

tomcat vaadin spring-boot vaadin14

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

如何清理/删除 Vaadin 14 中 AppLayout 中的内容?

如何在 Vaadin 14 中显示静态组件?每次更新页面时,我都会收到错误消息。

在这种情况下,startStopYOLO, cameras, darknet, configuration, weights, thresholds, realTimeCameraImage, layout都是static

// Content
if(layout == null) {
    layout = new VerticalLayout();
    layout.add(new FormLayout(startStopYOLO, cameras, darknet, configuration, weights, thresholds));
    layout.add(realTimeCameraImage);
    layout.setAlignItems(Alignment.CENTER);
}
setContent(layout); // Here I get the error:
Run Code Online (Sandbox Code Playgroud)

错误是:

Can't move a node from one state tree to another. If this is intentional, first remove the node from its current state tree by calling removeFromTree
Run Code Online (Sandbox Code Playgroud)

所以我需要清理第content一个。我怎样才能在 Vaadin 14 中做到这一点?

java vaadin vaadin14

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

Spring Boot Vaadin 验证不起作用 - 为什么?

我将 Vaadin 14 与 Vaadin CRUD AddOns 一起使用,但我的验证似乎对我不起作用。

如果我打开我的 CRUD 视图并查看这两个字段。它们是空字符串,例如 null。我想收到一个错误“不能为空”。但在这里,我完全没有错误。

在此处输入图片说明

我的实体看起来像这样。

@Entity(name = "Data")
@Data
public class Data {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    
    @NotNull
    private String OrderNumber;
    @NotNull
    private String SerialNumber;
Run Code Online (Sandbox Code Playgroud)

如果我尝试保存到我的数据库,它看起来像这样。

Caused by: javax.validation.ConstraintViolationException: Validation failed for classes [se.danielmartensson.entities.LX_Data] during update time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
    ConstraintViolationImpl{interpolatedMessage='must not be null', propertyPath=SerialNumber, rootBeanClass=class se.danielmartensson.entities.Data, messageTemplate='{javax.validation.constraints.NotNull.message}'}
    ConstraintViolationImpl{interpolatedMessage='must not be null', propertyPath=OrderNumber, rootBeanClass=class se.danielmartensson.entities.Data, messageTemplate='{javax.validation.constraints.NotNull.message}'}
]
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我的pom.xml已经Spring Boot Starter Validation …

crud vaadin bean-validation spring-boot vaadin14

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

是否可以仅从二进制数中获取 ASCII 字体位图数组?

我正在寻找一种解决方案,我可以仅从二进制数生成 6*8 位图。

假设你得到的 charA是 binary 0b01000001。您是否可以从AC 中的字母创建 6*8 位图(只有 0 和 1 两种颜色)?

或者我是否需要像这样的字符集列表来查找位图的形状?

在此处输入图片说明

c bitmap char

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

extern "C" 是将 C 代码转换为 C++ 代码,还是仅允许编译器将 C 代码编译为 C++ 代码?

我有一个小问题。

我认为使用 usingextern "C"会将 C 代码直接转换为 C++ 代码。

#ifdef __cplusplus
extern "C" {
#endif

ENUM_J1939_STATUS_CODES CAN_Send_Message(uint32_t ID, uint8_t data[], uint8_t delay);
ENUM_J1939_STATUS_CODES CAN_Send_Request(uint32_t ID, uint8_t PGN[], uint8_t delay);
bool CAN_Read_Message(uint32_t *ID, uint8_t data[]);

#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)

但是当我QSerialPort在这里上课时

#ifdef __cplusplus
extern "C" {
#endif
#include <QSerialPort>
ENUM_J1939_STATUS_CODES CAN_Send_Message(uint32_t ID, uint8_t data[], uint8_t delay);
ENUM_J1939_STATUS_CODES CAN_Send_Request(uint32_t ID, uint8_t PGN[], uint8_t delay);
bool CAN_Read_Message(uint32_t *ID, uint8_t data[]);

#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)

然后我得到了 500 个关于数据类型、命名空间和 C 没有的所有类型的 C++ 关键字的错误。 …

c c++

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

为什么在 QT C++ QByteArray 中 char 0x0 变成 0xFF (255)?

通过 USB,我将以下内容发送到我的 QT C++ 应用程序。正如您所看到的,我们正在向我的 QT C++ 应用程序发送总共 5 个字节的数据。

/* Create array of prescalers */
uint8_t send_data_array[5] = {0};
uint8_t index = 0;

/* Fill the array */
send_data_array[index++] = SEND_BACK_PWM_PRESCALERS_MESSAGE_TYPE;
send_data_array[index++] = STM32_PLC_PWM0_To_PWM3_Get_Prescaler() >> 8;
send_data_array[index++] = STM32_PLC_PWM0_To_PWM3_Get_Prescaler();
send_data_array[index++] = STM32_PLC_PWM4_To_PWM7_Get_Prescaler() >> 8;
send_data_array[index++] = STM32_PLC_PWM4_To_PWM7_Get_Prescaler();

/* Send the data via USB */
CDC_Transmit_FS(send_data_array, index);
Run Code Online (Sandbox Code Playgroud)

当我发送数据时,它看起来像这样:

在此输入图像描述

因此,当我在 QT C++ 应用程序中收到数据时,它看起来像这样:

uint32_t MessageServiceThread::readPWMPrescalersFromSTM32PLC(QByteArray usbDataRaw, uint32_t byteIndex){
    pwmPrescaler[0] = (usbDataRaw.at(byteIndex) << 8) | usbDataRaw.at(byteIndex + 1);
    byteIndex += 2;
    pwmPrescaler[1] …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

标签 统计

vaadin ×3

vaadin14 ×3

c ×2

c++ ×2

java ×2

spring-boot ×2

bean-validation ×1

bitmap ×1

casting ×1

char ×1

crud ×1

generics ×1

qt ×1

tomcat ×1