相关疑难解决方法(0)

为什么在匿名类中只能访问最终变量?

  1. a只能在这里决赛.为什么?如何aonClick()不将其保留为私有成员的情况下重新分配方法?

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                int b = a*5;
    
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何5 * a点击它返回?我的意思是,

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                 int b = a*5;
                 return b; // but return type is void 
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)

java event-handling anonymous-class

341
推荐指数
7
解决办法
11万
查看次数

访问匿名类的构造函数

假设我有一个具体的类Class1,我正在创建一个匿名类.

Object a = new Class1(){
        void someNewMethod(){
        }
      };
Run Code Online (Sandbox Code Playgroud)

现在有什么方法可以重载这个匿名类的构造函数.如下图所示

Object a = new Class1(){
        void someNewMethod(){
        }
        public XXXXXXXX(int a){
          super();
          System.out.println(a);
        }
      };
Run Code Online (Sandbox Code Playgroud)

用xxxxxxxx命名构造函数?

java constructor overloading anonymous-types

212
推荐指数
4
解决办法
11万
查看次数

实例初始化器与构造函数有何不同?

换句话说,为什么需要实例初始化器?在构造函数上编写实例初始化程序有什么区别或优势?

java instantiation

71
推荐指数
3
解决办法
2万
查看次数

为什么选择java Instance初始化器?

Java中的"Instance Initializers"有什么意义?
我们不能只将那段代码放在构造函数的开头吗?

java

29
推荐指数
4
解决办法
9672
查看次数

内部类中的构造函数(实现接口)

我将如何为实现接口的内部类编写构造函数?我知道我可以创建一个全新的课程,但我认为必须有一种方法可以做到这一点:

JButton b = new JButton(new AbstractAction() {

    public AbstractAction() {
        super("This is a button");                        
    }


    public void actionPerformed(ActionEvent e) {
        System.out.println("button clicked");
    }
}); 
Run Code Online (Sandbox Code Playgroud)

当我输入它时,它不会将AbstractAction方法识别为构造函数(编译器要求返回类型).有没有人有想法?

java constructor anonymous-inner-class inner-classes

21
推荐指数
2
解决办法
2万
查看次数

WebDriverWait用于更改元素属性

如何使用WebDriverWait等待属性更改?

在我的AUT中,我必须等待按钮在继续之前启用,不幸的是由于开发人员编写页面的方式我不能使用WebElement的isEnabled()方法.开发人员正在使用一些CSS来使按钮看起来像被禁用,因此用户无法点击它,方法isEnabled总是为我返回true.所以我要做的是获取属性"aria-disabled"并检查文本是"true"还是"false".到目前为止我一直在做的是使用Thread.sleep的for循环,如下所示:

for(int i=0; i<6; ++i){
    WebElement button = driver.findElement(By.xpath("xpath"));
    String enabled = button.getText()
    if(enabled.equals("true")){ break; }
    Thread.sleep(10000);
 }
Run Code Online (Sandbox Code Playgroud)

(如果不正确,请忽略上面的代码,只是我正在做的伪代码)

我确信有一种方法可以使用WebDriverWait实现类似的东西,这是我无法弄清楚如何的首选方法.这就是我想要实现的,即使以下方法不起作用:

WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOf(refresh.getText() == "true")); 
Run Code Online (Sandbox Code Playgroud)

显然它不起作用,因为函数期望WebElement不是String,但它正是我想要评估的.有任何想法吗?

selenium webdriver selenium-webdriver

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

将值传递给内部类方法?

Promise<List<WrapSpec>> wrapSpecPromise = new Job() {
                @Override
                public List<WrapSpec> doJobWithResult() throws Exception {
                    return PkgLoad.findDistinctWrapSpecBetweenDates(pkgLine, startDate, endDate);               
                }
            }.now();
Run Code Online (Sandbox Code Playgroud)

是否可以将值pkgLine,startDate,endDate传递给此方法?谢谢你的帮助.

编辑:这是建议反对的东西吗?或不.谢谢.

    for ( final PkgLine pkgLine : pkgLineList ) {


            Promise<List<WrapSpec>> distinctWrapPromise = new Job() {

                @Override
                public List<WrapSpec> doJobWithResult() throws Exception {
                    return PkgLoad.findDistinctWrapSpecBetweenDates( pkgLine, startDate, endDate );
                }
            }.now();
            promiseList.add( distinctWrapPromise );
        }
Run Code Online (Sandbox Code Playgroud)

java inner-classes playframework

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

如何在java中编写actionlistener

以下是我的代码:

JLabel label1 = new JLabel("testcontent");
label1.setBounds(131, 57, 205, 74);

frame.getContentPane().add(label1);

JButton btn1 = new JButton("run");
btn1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

    }
});

btn1.setBounds(169, 206, 117, 25);
frame.getContentPane().add(btn1);
Run Code Online (Sandbox Code Playgroud)

当我尝试在actionPerformed中引用label1时,eclipse找不到label1.任何人都可以告诉我什么是错的?

java swing awt

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