import javax.swing.*;
public class ButtonExample{
ButtonExample(){
JFrame f=new JFrame("Button Example");
JButton b=new JButton(new ImageIcon("D:\\icon.png"));
b.setBounds(100,100,100, 40);
f.add(b);
f.setSize(300,400);
f.setLayout(null);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ButtonExample();
}
}
Приведенный выше код работает нормально и генерирует следующий вывод:

В строке № 5 это JButton b=new JButton(new ImageIcon("D:\\icon.png"));
Мы создаемImageIcon
объект и передача в качестве аргумента конструктору JButton
класса.Я просмотрел документацию по Java для класса JButton (https://docs.oracle.com/javase/8/docs/api/javax/swing/JButton.html), но не нашел конструктора для обработки этого вызова.
Может кто-нибудь объяснить, пожалуйста, механизм, стоящий за ним. Спасибо.