javaswing绑定键盘事件窗口按下z键出现一个按钮为什么事件绑定不上

2114772318 2114772318 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class PlaneAndBullet implements Runnable{
public static void main(String[] args) {
new PlaneAndBullet().MyJFrame();

}
JButton jbt;
JButton jbt2;
void MyJFrame(){
JFrame jf=new JFrame("打飞机");
jf.setLayout(null);

BackGround backGround=new BackGround();

jf.setSize(500,300);
jf.setLocationRelativeTo(null);

ImageIcon imageIcon=new ImageIcon("fj.jpg");
jbt=new JButton(imageIcon);
jbt.setBounds(200,200,50,30);
jf.add(jbt);

int jbt_x=jbt.getX();
int jbt_y=jbt.getY();

jbt.setEnabled(true);
System.out.println(1);
jbt.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
System.out.println(2);
int jbt_x=jbt.getX();
if(e.getKeyChar()=='a'){
System.out.println(3);
run();

}
}
});
System.out.println(5);

JButton jbt3=new JButton("飞机");
jbt3.setBounds(20,20,40,20);
jf.add(jbt3);




jf.requestFocus();

System.out.println(2000);
jf.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
System.out.println(90);
if(e.getKeyChar()=='z'){
jbt2=new JButton("子弹");
jbt2.setBounds(200,20,25,15);
jf.add(jbt2);
jf.repaint();
System.out.println(900000);
}
}
});


backGround.setBounds(0,0,500,300);
jf.add(backGround);
backGround.setPreferredSize(new Dimension(200,200));

/*ImageIcon imageIcon2=new ImageIcon("bj.jpg");
JLabel imgLabel=new JLabel(imageIcon2);
jf.getLayeredPane().add(imgLabel,new Integer(Integer.MIN_VALUE));
imgLabel.setBounds(0,0,imageIcon2.getIconWidth(),imageIcon2.getIconHeight());
JPanel jPanel=(JPanel)jf.getContentPane();
jPanel.setOpaque(false);*/

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}

public void run(){
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(4);
System.out.println(jbt);
jbt.setLocation(jbt.getX()-10,jbt.getY());
jbt2.setLocation(jbt2.getX()-10,jbt2.getY());
jbt.repaint();
}
}
}
class BackGround extends Canvas{
public void paint(Graphics g){
BufferedImage bufferedImage=new BufferedImage(500,500,BufferedImage.TYPE_INT_RGB);
try {
bufferedImage=ImageIO.read(new FileInputStream("bj.jpg"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
g.drawImage(bufferedImage,0,0,null);
}
}
...全文

相关推荐

29Linux基础命令详解——用户管理.docx

29Linux基础命令详解——用户管理

云计算练习生

科技服务机构如何通过数据分析增强服务竞争力?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

源码论文专家

车辆缺陷分割数据集4000张json格式.zip

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):4000 标注数量(json文件个数):4000 标注类别数:1 标注类别名称:["defect"] 每个类别标注的框数: defect count = 8740 总框数:8740 使用标注工具:labelme=5.5.0 所在仓库:firc-dataset 图片分辨率:640x640 标注规则:对类别进行画多边形框polygon 重要说明:可以将数据集用labelme打开编辑,json数据集需自己转成mask或者yolo格式或者coco格式作语义分割或者实例分割 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证

不会仰游的河马君

高校如何利用技术转移服务转化科研成果并提升影响力?.docx

高校如何利用技术转移服务转化科研成果并提升影响力?

BIZKEEN
评论 2
收藏 已收藏
分享
返回顶部
2114772318
Java SE 62,620 成员 307,251 内容