java 在事件中创建一个标签,并显示出来

想在java的键盘事件中创建一个标签,条件是按住键盘的“↑”时显示出来。但按后没反应,不知道原因。addKeyListener(newKeyAdapter(){if(e.... 想在java 的键盘事件中创建一个标签,条件是按住键盘的“↑”时显示出来。但按后没反应,不知道原因。
addKeyListener(new KeyAdapter() {
if(e.getKeyCode()==KeyEvent.VK_UP){
JLabel lblNewLabe2 = new JLabel("111");
contentPane.add(lblNewLabe2);
lblNewLabe2.setLocation(lblNewLabel.getX()+lblNewLabel.getWidth()/2, lblNewLabel.getY()*2);
// contentPane.validate(); 刷新面板也没反应
}
}
通过System.out.println(contentPane.getComponentCount()); 可以得到每次是向里面加了个标签,也试了添加 lblNewLabe2.setVisible(true);还是没有用呀。
展开
 我来答
hitzsf
推荐于2018-04-13 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1164万
展开全部
尽量少用JFrame,除了要监控窗口状态事件,其他情况下多用JPanel

public static void main(String[] args) {
JFrame f = new JFrame();
final JPanel p = new JPanel();
p.setFocusable(true);
f.add(p);
f.setSize(400, 400);
p.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
System.out.println("hello");
JLabel l = new JLabel("111");
p.add(l);
p.validate();
}
}
});
f.setDefaultCloseOperation(3);
f.setVisible(true);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式