题目:编写程序:自定义一个类,继承Frame,创建该类对象,并在其上添加1个标签,标签上初始文字为“A”,当按下键盘的向右方向键时,其文字变为“B”,以此类推,当按下左方向键时,则分别变为当前字母的前一字母。
代码:
import java.awt.*;
import java.awt.event.*;
public class Java extends Frame implements KeyListener{
static Label l= new Label("A");
public static void main(String args[]) {
Java j = new Java();
l.addKeyListener(j);
j.setSize(200,200);
j.add(l);
j.setVisible(true);
}
public void keyPressed(KeyEvent e)
{
if (e.getKeyCode()==e.VK_LEFT) {
l.setText("B");
}
if(e.getKeyCode()==e.VK_RIGHT) {
l.setText("A");
}
}
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
}
哪里出错了?
代码:
import java.awt.*;
import java.awt.event.*;
public class Java extends Frame implements KeyListener{
static Label l= new Label("A");
public static void main(String args[]) {
Java j = new Java();
l.addKeyListener(j);
j.setSize(200,200);
j.add(l);
j.setVisible(true);
}
public void keyPressed(KeyEvent e)
{
if (e.getKeyCode()==e.VK_LEFT) {
l.setText("B");
}
if(e.getKeyCode()==e.VK_RIGHT) {
l.setText("A");
}
}
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
}
哪里出错了?
解决方案 »
- 关于表格的问题 下面的代码是要创建一个人员管理信息的表格可是报错,请问那为高手能给指点一下吗? 在线等待
- 实现一个GUI程序 紧急 各位大虾帮帮忙啦
- 关于 Swing 中下拉菜单类和复选框??????????????在线等
- 怎么样用GUI做个跟QQ界面一样,基本登陆界面已经有,插入画面应该用什么方法
- java 3D中如何取得一个支持点取的物体当前在窗口中的坐标?
- java门外汉的几点疑问
- 求大神,菜鸟一枚
- 客户端IP地址的获得?
- java io 问题
- 运行 java -native BlackBox 说没有-native 这个参数,怎么办?
- 使用POI3.8操作Excel 2010文档,出错,高手给看看啥原因
- jTable行的颜色,移动以及列值不变的问题
改为
static JTextField l= new JTextField("A");Label 不能获取焦点,没有key事件
import java.awt.*;
import java.awt.event.*;
public class Java extends JFrame implements KeyListener{
static JLabel l= new JLabel("A");
static JTextField tf=new JTextField(15); public static void main(String args[]) {
Java j = new Java(); j.setSize(200,200);
j.getContentPane().setLayout(new FlowLayout());
j.getContentPane().add(l);
j.getContentPane().add(tf);
tf.addKeyListener(j);
j.setVisible(true);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public void keyPressed(KeyEvent e){
if (e.getKeyCode()==KeyEvent.VK_LEFT) {
System.out.println("-------");
l.setText("B");
}
if(e.getKeyCode()==KeyEvent.VK_RIGHT) {
l.setText("A");
} }
public void keyTyped(KeyEvent e) {
// System.out.println("-------");
}
public void keyReleased(KeyEvent e) {
// System.out.println("-------");
}
}
j.addKeyListener(j);道理是1楼说的。
if (e.getKeyCode()==KeyEvent.VK_LEFT) {
System.out.println("-------");
String txt = l.getText();
char c = txt.charAt(0);
if(!txt.equals("A"))
l.setText(String.valueOf((char)(c-1)));
}
if(e.getKeyCode()==KeyEvent.VK_RIGHT) {
String txt = l.getText();
char c = txt.charAt(0);
if(!txt.equals("Z"))
l.setText(String.valueOf((char)(c+1)));
} }
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;public class TT extends Frame{ static Label l = new Label("A");
int n = 65;
public TT() {
this.add(l);
this.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()) {
case(KeyEvent.VK_RIGHT):
n++;
if(n>90) {
n = 90;
}
String s = String.valueOf((char)n);
TT.this.l.setText(s);
break;
case(KeyEvent.VK_LEFT):
n--;
if(n<65) {
n = 65;
}
String ss = String.valueOf((char)n);
TT.this.l.setText(ss);
break;
}
}
});
this.setBounds(40, 50, 200, 200);
this.setVisible(true);
}
public static void main(String[] args) {
new TT();
}
}
package com.meteor.basic;import java.awt.Frame;
import java.awt.Label;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class LabelEventMoniter extends Frame{ private static final long serialVersionUID = 1L;
private Label label; public void LunchFram() {
this.setTitle("标签事件监听测试");
this.setLocationRelativeTo(null);
this.setAlwaysOnTop(true);
this.setResizable(false);
label = new Label("A");
this.addKeyListener(this.new Mointer());
this.add(label);
this.pack();
this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e){
setVisible(false);
System.exit(-1);
}
});
}
private class Mointer extends KeyAdapter {
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
switch(keyCode) {
case KeyEvent.VK_RIGHT :
label.setText("B");
break;
case KeyEvent.VK_LEFT :
label.setText("A");
break;
}
}
}
public static void main(String [] args) {
new LabelEventMoniter().LunchFram();
}
}
switch(keyCode) {
case KeyEvent.VK_RIGHT :
str = label.getText();
a = str.charAt(0);
if(a <65 || a > 89) {
label.setText("A");
}else{
label.setText(String.valueOf(((char)(a+1))));
}
System.out.println(a);
break;
case KeyEvent.VK_LEFT :
str = label.getText();
a = str.charAt(0);
if(a < 66) {
label.setText("A");
}else {
label.setText(String.valueOf((char)(a-1)));
}
break;
}