Ошибки компиляции, не может найти символ и конструктор не может быть применен к данным типам - PullRequest
1 голос
/ 17 июня 2011

Я получаю 2 ошибки:

ControllingSpeed.java:89: constructor Thread in class Thread cannot be applied to given types
   Thread th=new Thread(r);
              ^
required: no arguments
found: Runnable
ControllingSpeed.java:90: cannot find symbol
   th.start(r);
     ^
symbol:   method start(Runnable)
location: class Thread
2 errors

Я не знаю причину ошибок.

// Demo On JSlider

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.Thread.*;

class ControllingSpeed extends JPanel{

...<snip>...

public void threadForSpeed(final ChangeEvent ce) {   // <----- cause of error ?
    try { 
        Runnable r = new Runnable() {
            public void run() {
                changeSpeed(ce);
            }
        };
        Thread th=new Thread(r);
        th.start(r);                // <---- till here
    } catch(Exception exc) {
        System.out.println(exc);
    }  
}

Ответы [ 2 ]

5 голосов
/ 17 июня 2011

Проблема, скорее всего, в том, что где-то в вашем пакете у вас есть класс с именем Thread, который затмевает класс java.lang.Thread.Этот класс (ваш), вероятно, выглядит примерно так:

class Thread {}

Попробуйте указать класс Thread, используя полное имя, например:

    java.lang.Thread th = new java.lang.Thread(r);

Кроме того, метод Thread#start()не принимает аргумент, поэтому удалите Runnable "r" из аргумента:

    th.start();
1 голос
/ 17 июня 2011

Хорошо, одна ошибка в том, что метод запуска класса Thread не принимает параметр.это просто:

   th.start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...