Ошибка:
test.java:19: cannot find symbol symbol : method add(paket.myButts) location: class javax.swing.JPanel myPanel.add(myButton);
Это означает, что класс JPanel не имеет метода add
, который принимает параметр paket.myButts
. Давайте посмотрим на документацию JPanel , чтобы увидеть, какие у нее есть add
методы.
Есть 5 add
методов, унаследованных от Контейнера, и один от Компонента. Этот метод , как и большинство из них, требует, чтобы вы передали объект Component. Для этого требуется передать объект PopupMenu.
Так что кажется, что ваш объект paket.myButts не является Component или PopupMenu, и должен быть. Может быть заманчиво заставить ваш myButts расширить Компонент. Так что взгляните на документацию Component , чтобы увидеть, что вы получите. Обратите внимание, что есть несколько подклассов, которые уже были предоставлены:
Кнопка, Холст, Флажок, Выбор, Контейнер, Метка, Список, Полоса прокрутки, Компонент текста
Теперь, так как вы действительно хотите кнопку, вы можете догадаться, что myButts имеет смысл расширить Button. Это сработает, и вы получите awt.Button. Однако, если вы продолжите изучение, некоторые из подклассов контейнера - это классы swing , включая JButton. Я бы порекомендовал использовать эти классы свинга.
Как только вы это сделаете, ваш конструктор должен принять следующую форму:
public class myButts extends JButton {
public myButts() {
super();
// here put any myButts-specific construction code, such as:
setText("Press me!");
}
}
Для более общего знакомства с использованием компонентов Swing я настоятельно рекомендую превосходное руководство по Swing .