小编And*_*der的帖子

SLF4J:带有Gradle插件的多个SLF4J绑定

我知道SLF4J存在一个常见问题:类路径包含多个SLF4J绑定。

SLF4J: Found binding in [jar:file:/C:/Users/<name>/.gradle/caches/4.9/generated-gradle-jars/gradle-api-4.9.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/<name>/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.2/afd596adf5086b4f4746254b25a3a4b513f1d6e4/log4j-slf4j-impl-2.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Run Code Online (Sandbox Code Playgroud)

我在运行gradle build时应用了gradle-plugin插件,例如class with

import org.gradle.api.*
class CommonTestPlugin implements Plugin<Project> {
Run Code Online (Sandbox Code Playgroud)

并在摇篮中

apply plugin: 'java-gradle-plugin'  
Run Code Online (Sandbox Code Playgroud)

我正在使用该插件,因此可以添加代码来创建插件。

上面的错误似乎指向gradle-api作为有问题的依赖关系,但是当我用dependencyInsight --dependency gradle-api启动依赖关系见解任务时

它返回:

No dependencies matching given input were found in configuration ':compileClasspath'
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何确定如何定义/排除插件正在使用的依赖关系?我正在使用以下内容,我只是想不出如何将其应用于plugin-api

compile (group: 'com.aestasit.infrastructure.sshoogr', name: 'sshoogr', version: '0.9.26'){
    // exclude this to stop warnings about multiple SLF4J bindings.
    exclude group: 'ch.qos.logback', module: 'logback-classic'
}
Run Code Online (Sandbox Code Playgroud)

plugins gradle log4j2

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

在JFormattedTextField中删除掩码时出现问题

我在JFormattedTextField中遇到掩码时遇到问题

我知道它用空格替换无效字符,或者用setPlaceholderCharacter定义的任何东西,但我需要它做的是允许删除或退格,并且不插入空格代替我删除的字符,只要其余的掩码中允许使用string.

例如,使用mask : *#*****,字符串"12 abc"有效.
如果你把光标放在b和c字符之间,然后按退格按钮,我需要它来删除b,导致"12 ac".相反,它删除它,并添加一个空格,成为:"12 a c".

下面是一个简单的代码示例来演示.

我很感激任何想法或例子来解决这个问题.


public class testFrame extends javax.swing.JFrame {

    public testFrame() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new java.awt.FlowLayout());

        setMinimumSize(new Dimension(300,150));

        java.awt.Button closeButton = new java.awt.Button();
        JFormattedTextField maskTextField = new JFormattedTextField();
        maskTextField.setMinimumSize(new Dimension(100,30));

        getContentPane().add(maskTextField);

        closeButton.setLabel("close");
        closeButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                System.exit(0);
            }
        });

        getContentPane().add(closeButton);

        try {
            MaskFormatter someMask = new MaskFormatter("*#****");
            DefaultFormatterFactory formatterFactory 
                = new DefaultFormatterFactory(someMask);
            maskTextField.setFormatterFactory(formatterFactory);
        } catch (ParseException ex) {
            ex.printStackTrace();
        }
        maskTextField.setText("12 …
Run Code Online (Sandbox Code Playgroud)

java swing jformattedtextfield

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

如何仅为一个组件更改工具提示的颜色?

如何仅为一个组件更改工具提示的颜色?

我知道您可以执行以下操作来更改工具提示颜色:

UIManager.put("ToolTip.background", new ColorUIResource(255, 247, 200)); 
Run Code Online (Sandbox Code Playgroud)

但这会改变所有组件的工具提示背景,而不仅仅是一个.

任何简单的解决方

java swing tooltip

5
推荐指数
3
解决办法
3649
查看次数

什么原因导致组件requestFocus有时会失败?

我有一个jDialog,其中包含一些需要集中注意力的字段.

我看到一些奇怪的行为,有时聚焦失败,如果你点击Tab键,你可以在下面的底层父窗口中看到焦点变化,所以很明显焦点没有被转移.

我在关注焦点时阅读了有趣的文章(由camickr撰写):http://tips4java.wordpress.com/2010/03/14/dialog-focus/ 但这并没有解决问题.

但是,使用该侦听器,我可以轻松地添加调试以尝试查看正在发生的事情......

public class RequestFocusListener implements AncestorListener
{
private boolean removeListener;
    protected static org.slf4j.Logger logger = LoggerFactory.getLogger(RequestFocusListener.class);

/*
 *  Convenience constructor. The listener is only used once and then it is
 *  removed from the component.
 */
public RequestFocusListener() {
    this(true);
}

/*
 *  Constructor that controls whether this listen can be used once or
 *  multiple times.
 *
 *  @param removeListener when true this listener is only invoked once
 *                        otherwise it can be …
Run Code Online (Sandbox Code Playgroud)

java swing focus

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

与转义字符模式匹配的正确方法

Pattern.matches("123 $ 45","123 $ 45")返回false,我推测是因为特殊的$ char.

我怀疑逃避$会让它通过

例如Pattern.matches("123\$ 45","123\$ 45")

但这也失败了.

确保它们匹配的正确方法是什么?

java pattern-matching

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