永发信息网

编写一个java程序,当按键盘的r、g、b键时,分别设置窗体背景色为红、绿、蓝三种色

答案:1  悬赏:30  手机版
解决时间 2021-04-03 17:52
  • 提问者网友:树红树绿
  • 2021-04-03 02:52
编写一个java程序,当按键盘的r、g、b键时,分别设置窗体背景色为红、绿、蓝三种色
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-04-03 04:24

import java.awt.Color;
import java.awt.Container;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JDialog;

public class MyTest {
static JDialog dialog = new JDialog();
Container cp = new Container();

public static void main(String[] args) {
MyTest mytest = new MyTest();
dialog.setSize(300, 200);
dialog.setLocationRelativeTo(null);
dialog.setTitle("测试");
dialog.addKeyListener(mytest.new MyKeyListener());
dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dialog.dispose();
}
});
dialog.setVisible(true);
}

class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent e) {
char key = e.getKeyChar();
cp = dialog.getContentPane();
cp.setLayout(null);
switch (key) {
case 'r':
cp.setBackground(Color.red);
break;
case 'g':
cp.setBackground(Color.green);
break;
case 'b':
cp.setBackground(Color.blue);
break;
}
System.out.println("你按了【" + key + "】键");
}
}

}追问颜色没有变追答你在电脑上双击这个jar包,效果就是这样的。除非你有自己修改了代码,也有可能你键盘的模式为大写的,我代码没有判断大小写,你可以自己改。
追问可以改成swing的吗
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯