【发布时间】:2016-04-29 09:25:08
【问题描述】:
我想插入一个图像,然后想使用 Java GUI 向该图像添加一个事件。我添加了图像,然后尝试将其插入此容器中,但它显示错误。您能否告诉我在 Java 中插入图像然后向该图像或事件处理程序添加侦听器的正确方法?或者如果使用容器来处理图像是正确的方法。我该怎么做?
这是我的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.*;
import java.util.Random;
public class Back extends JFrame {
private Container pane;
public Back() {
super("title");
setLayout(null);
Icon i=new ImageIcon(getClass().getResource("1.png"));
pane=new Container();
thehandler hand=new thehandler(); //konstruktori i handler merr
//nje instance te Background
}
private class thehandler implements ActionListener {
public void actionPerformed(ActionEvent event) {
}
}
public static void main(String[] args) {
Back d = new Back() ;
d.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
d.getContentPane().setBackground(Color.GREEN);
d.setSize(700,500);
d.setVisible(true);
}
}
【问题讨论】:
-
您可以使用
JLabel或JButton作为图标,也可以直接在该组件上添加监听器。更多解释请参见this tutorial。 -
OK 是另一种不使用 JLabel 或 JButton 插入图像的方法吗?
-
我知道的唯一其他方法是在
paintComponent方法中绘制图像 (graphics.drawImage(...)),例如JPanel。顺便说一句,我忘了提及:1)请始终发布您收到的完整错误消息 2)确保图像实际上位于项目的src文件夹中 -
处理程序(应该是处理程序)必须继承自一些具有implemented ActionListener in API的JComponent
标签: java swing awt actionlistener