Как мне создать несколько JButton, которые работают индивидуально, создавая экземпляр класса? - PullRequest
0 голосов
/ 10 февраля 2020

Я только начинающий в java программировании, и я запутался в классе. Наше задание состояло в том, чтобы сделать 3 jButtons, и когда вы нажимаете на них, появляется gif. Наш учитель сказал, что мы должны показать экземпляр 3 объектов, каждый из которых управляет одной кнопкой. Пожалуйста, помогите мне; Я так растерялся!

Это часть моего кода (часть значка изображения)

public void addButtonsToContentPanel() {
    ImageIcon frog    = new ImageIcon("frog.gif");
    ImageIcon buffalo = new ImageIcon("buffalo.gif");

    fancyButton1      = new JButton("Fancy Button", frog);
    fancyButton1.setRolloverIcon(buffalo);


    p.add(fancyButton1);
    fancyButton1.addActionListener(this);
}

^^ Как мне сделать код выше, чтобы fancyButton1 был связан с создание класса? Извините, если то, что я говорю, не имеет смысла; Я не знал, как это сказать.

1 Ответ

0 голосов
/ 20 марта 2020
fancyButton1 = new ImageButton()

Вызывая new ImageButton(), вы создаете экземпляр нового объекта класса ImageButton.

Я не совсем уверен, что вас просят сделать. Ниже приведен код, который создает три кнопки:

ImageButton fancyButton1 = new ImageButton()
ImageButton fancyButton2 = new ImageButton()
ImageButton fancyButton3 = new ImageButton()

Еще одна вещь, которую вас могут попросить сделать, - определить класс Cyberpet, чтобы он мог создавать свой собственный JButton, что-то вроде следующего :

class CyberPet {

    private String name;
    private ImageIcon imgIcon;
    private ImageIcon rolloverImgIcon;

    // Initialiser
    Cyberpet(String name, String pathToImgIcon, String pathToRolloverImgIcon) {
       this.name = name;
       this.imgIcon = new ImageIcon(pathToImgIcon);
       this.rolloverImgIcon = new ImageIcon(pathToRolloverImgIcon);
    }

    public JButton createButton() {
        JButton btn = new JButton(this.name, this.imgIcon);
        btn.setRolloverIcon(this.rolloverImgIcon);
    }
}    

public void addButtonsToContentPanel() {
    Cyberpet frog = new Cyberpet("frog.gif", "buffalo.gif");
    fancyButton1 = frog.createButton();
    fancyButton1.addActionListener(this);
}

Надеюсь, это поможет. Если я неверно истолковал вопрос, пожалуйста, дайте мне знать, и я постараюсь дать лучший ответ.

...