Я хочу создавать изображения на моем JPanel с помощью MVC.У меня нет большого опыта работы с Java, поэтому у меня возникли некоторые проблемы.
Я проверил некоторые вопросы по этому поводу, и, скорее всего, я вижу, что люди предлагают JLabel ImageIcon.Поэтому я попытался настроить его, но он не работает.
Просмотр:
public class View extends javax.swing.JFrame {
public View() {
initComponents();
}
public void addActionListener(ActionListener listener)
{
this.jButton1.addActionListener(listener);
}
public void drawImage(BufferedImage image)
{
JLabel label = new JLabel(new ImageIcon(image));
this.jPanel1.add(label);
this.add(jPanel1);
this.pack();
}
Контроллер:
public class Controller {
View view = new View();
public Controller(View view)
{
this.view = view;
view.addActionListener(new ButtonListener());
}
class ButtonListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
BufferedImage image = null;
try {
image = ImageIO.read(new File(getClass().getClassLoader().getResource("noimg.png").getFile()));
} catch (IOException ex) {
ex.printStackTrace();
}
view.drawImage(image);
}
}
}
Main:
public class Main {
public static void main(String[] args) {
View view = new View();
Controller controller = new Controller(view);
view.setVisible(true);
}
Когда я нажимаю кнопку, ничего не происходит.Я хочу, чтобы изображение отображалось на моем JPanel при нажатии кнопки.