Я недавно читал эту ветку ( Создание пользовательской кнопки в Java ) по созданию пользовательских кнопок в java путем расширения класса JButton, однако все решения в этом потоке используют графику, нарисованную в java.
Я хотел, чтобы моя кнопка была основана на изображении кнопки, которое я нарисовал в фотошопе.Поэтому я попытался применить то, что я прочитал в этой теме, с таким результатом:
import javax.swing.*;
import java.awt.*;
public class nextButton extends JButton {
@Override
protected void paintComponent(Graphics g) {
Image image = new ImageIcon("nextButton.png").getImage();
g.drawImage(image,0,0,this);
}
@Override
public Dimension getPreferredSize() {
Dimension size = super.getPreferredSize();
size.setSize(75, 150);
return size;
}
}
Когда я запускаю основную программу, добавив эту кнопку в JPanel, она не отображается.Я предполагаю, что это может быть одной из нескольких причин:
a) Размер JButton не соответствует изображению?б) Я не загрузил изображение должным образом.В записках, которые мне дал лектор, он записывает код отображаемого изображения, используя просто «imageName.png» без указания пути к файлу, поэтому я понятия не имею, правильный ли это способ или как программа узнает, как загрузить изображение.,в) Что-то еще, что мне не известно.
Если кто-нибудь знает, как решить эту проблему, я был бы очень признателен.
Большое спасибо!