`

Swing 键盘练习

    博客分类:
  • Java
阅读更多
在swing界面中写一个键盘,使用前记得放置背景图片

import java.awt.*;

import javax.swing.*;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class framebg {

	private static Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
	private static JFrame frame;
	private static int screen_wid;
	private static int screen_hei;
	private static Container cp ;
	private static JTextField username = new JTextField();
	private static JTextField password = new JTextField();
	private static JButton[] but = new JButton[76];
	public framebg() {
	}

	public static void main(String[] args) {
		initialize();
	}

	private static void initialize() {
		frame = new JFrame();
		frame.setUndecorated(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		screen_wid = (int) screenSize.getWidth();
		screen_hei = (int) screenSize.getHeight();

		ImageIcon img = new ImageIcon("img/login1.jpg");
		JLabel imgLabel = new JLabel(img);
		frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
		imgLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
		cp = frame.getContentPane();
		((JPanel) cp).setOpaque(true);

		frame.setSize(screen_wid, screen_hei);
		frame.setVisible(true);

		JLabel titlelable = new JLabel();
		ImageIcon title_icon = new ImageIcon("img/jiudao1.jpg");
		titlelable.setIcon(title_icon);
		titlelable.setBounds(57, 118, 591, 216);
		cp.add(titlelable);

		JPanel login_panel = new JPanel();
		login_panel.setOpaque(true);
		login_panel.setBounds(675, 118, 311, 216);
		login_panel.setLayout(null);


		username.setBounds(105, 45, 140, 29);
		login_panel.add(username);

		password.setBounds(105, 75, 140, 29);
		login_panel.add(password);

		JButton login_button = new JButton("登陆");
		login_button.setFont(new Font("微软雅黑", Font.BOLD, 14));
		login_button.setBounds(10, 132, 63, 36);
		login_button.setBackground(new Color(240,255,255));
		login_panel.add(login_button);

		JButton exit_button = new JButton("退出");
		exit_button.setFont(new Font("微软雅黑", Font.BOLD, 14));
		exit_button.setBounds(97, 132, 63, 36);
		exit_button.setBackground(new Color(240,255,255));
		login_panel.add(exit_button);

		JButton update_button = new JButton("更新");
		update_button.setFont(new Font("微软雅黑", Font.BOLD, 14));
		update_button.setBounds(182, 132, 63, 36);
		update_button.setBackground(new Color(46, 139, 87));
		login_panel.add(update_button);
		cp.add(login_panel);

		loadkeyboard();
	}

	private static void loadkeyboard() {
		JPanel panel = new JPanel();
		panel.setOpaque(true);
		panel.setBounds(57, 359, 710, 216);
		panel.setLayout(null);

		but[0] = new JButton("`");
		but[0].setBounds(5, 5, 41, 33);
		//but[0].setEnabled(false);
		panel.add(but[0]);

		for(int i =1;i<10;i++){
			but[i] = new JButton(i+"");
			but[i].setBounds(49+44*(i-1), 5, 41, 33);
			final String text = but[i].getText();
			but[i].addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					username.setText(username.getText()+text);
				}
			});
			panel.add(but[i]);
		}

		but[10] = new JButton("0");
		but[10].setBounds(451, 5, 41, 33);
		but[10].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"0");
			}
		});
		panel.add(but[10]);

		but[11] = new JButton("-");
		but[11].setBounds(495, 5, 41, 33);

		but[11].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"-");
			}
		});
		panel.add(but[11]);

		but[12] = new JButton("+=");
		but[12].setBounds(541, 5, 52, 33);
		but[12].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"+=");
			}
		});
		panel.add(but[12]);

		but[13] = new JButton("←Backspace");
		but[13].setBounds(599, 5, 111, 33);
		but[13].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				if(username.getText()==null ||username.getText().length()<=0){
					username.setText("");
				}else{
					username.setText(username.getText().substring(0, username.
							getText().length()-1));
				}
			}
		});
		panel.add(but[13]);

		but[14] = new JButton("Tab");
		but[14].setBounds(5, 44, 56, 33);
		but[14].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[14]);

		but[15] = new JButton("q");
		but[15].setBounds(64, 44, 44, 33);
		but[15].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"q");
			}
		});
		panel.add(but[15]);

		but[16] = new JButton("w");
		but[16].setBounds(114, 44, 44, 33);
		but[16].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"w");
			}
		});
		panel.add(but[16]);

		but[17] = new JButton("e");
		but[17].setBounds(161, 44, 41, 33);
		but[17].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"e");
			}
		});
		panel.add(but[17]);

		but[18] = new JButton("r");
		but[18].setBounds(208, 44, 41, 33);
		but[18].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"r");
			}
		});
		panel.add(but[18]);

		but[19] = new JButton("t");
		but[19].setBounds(255, 44, 41, 33);
		but[19].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"t");
			}
		});
		panel.add(but[19]);

		but[20] = new JButton("y");
		but[20].setBounds(302, 44, 41, 33);
		but[20].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"y");
			}
		});
		panel.add(but[20]);

		but[21] = new JButton("u");
		but[21].setBounds(349, 44, 41, 33);
		but[21].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"u");
			}
		});
		panel.add(but[21]);

		but[22] = new JButton("i");
		but[22].setBounds(396, 44, 41, 33);
		but[22].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"i");
			}
		});
		panel.add(but[22]);

		but[23] = new JButton("o");
		but[23].setBounds(443, 44, 42, 33);
		but[23].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"o");
			}
		});
		panel.add(but[23]);

		but[24] = new JButton("p");
		but[24].setBounds(489, 44, 42, 33);
		but[24].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"p");
			}
		});
		panel.add(but[24]);

		but[25] = new JButton("[");
		but[25].setBounds(537, 44, 42, 33);
		but[25].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"[");
			}
		});
		panel.add(but[25]);

		but[26] = new JButton("]");
		but[26].setBounds(585, 44, 42, 33);
		but[26].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"]");
			}
		});
		panel.add(but[26]);

		but[27] = new JButton("\\");
		but[27].setBounds(633, 44, 77, 33);
		but[27].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"\\");
			}
		});
		panel.add(but[27]);

		but[28] = new JButton("CapsLock");
		but[28].setBounds(5, 83, 91, 33);
		but[28].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[28]);

		but[29] = new JButton("a");
		but[29].setBounds(102, 83, 41, 33);
		but[29].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"a");
			}
		});
		panel.add(but[29]);

		but[30] = new JButton("s");
		but[30].setBounds(149, 83, 41, 33);
		but[30].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"s");
			}
		});
		panel.add(but[30]);

		but[31] = new JButton("d");
		but[31].setBounds(196, 83, 42, 33);
		but[31].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"d");
			}
		});
		panel.add(but[31]);

		but[32] = new JButton("f");
		but[32].setBounds(243, 83, 42, 33);
		but[32].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"f");
			}
		});
		panel.add(but[32]);

		but[33] = new JButton("g");
		but[33].setBounds(290, 83, 42, 33);
		but[33].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"g");
			}
		});
		panel.add(but[33]);

		but[34] = new JButton("h");
		but[34].setBounds(337, 83, 42, 33);
		but[34].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"h");
			}
		});
		panel.add(but[34]);

		but[35] = new JButton("j");
		but[35].setBounds(384, 83, 42, 33);
		but[35].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"j");
			}
		});
		panel.add(but[35]);

		but[36] = new JButton("k");
		but[36].setBounds(431, 83, 42, 33);
		but[36].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"k");
			}
		});
		panel.add(but[36]);

		but[37] = new JButton("l");
		but[37].setBounds(478, 83, 42, 33);
		but[37].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"l");
			}
		});
		panel.add(but[37]);

		but[38] = new JButton(";");
		but[38].setBounds(525, 83, 42, 33);
		but[38].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+";");
			}
		});
		panel.add(but[38]);

		but[39] = new JButton("\"");
		but[39].setBounds(572, 83, 42, 33);
		but[39].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"\"");
			}
		});
		panel.add(but[39]);

		but[40] = new JButton("Enter");
		but[40].setBounds(619, 83, 91, 33);
		but[40].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[40]);

		but[41] = new JButton("Shift");
		but[41].setBounds(5, 125, 67, 33);
		but[41].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[41]);

		but[42] = new JButton("z");
		but[42].setBounds(78, 125, 45, 33);
		but[42].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"z");
			}
		});
		panel.add(but[42]);

		but[43] = new JButton("x");
		but[43].setBounds(129, 125, 45, 33);
		but[43].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"x");
			}
		});
		panel.add(but[43]);

		but[44] = new JButton("c");
		but[44].setBounds(181, 125, 45, 33);
		but[44].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"c");
			}
		});
		panel.add(but[44]);

		but[45] = new JButton("v");
		but[45].setBounds(229, 125, 45, 33);
		but[45].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"v");
			}
		});
		panel.add(but[45]);

		but[46] = new JButton("b");
		but[46].setBounds(279, 125, 46, 33);
		but[46].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"b");
			}
		});
		panel.add(but[46]);

		but[47] = new JButton("n");
		but[47].setBounds(330, 125, 47, 33);
		but[47].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"n");
			}
		});
		panel.add(but[47]);

		but[48] = new JButton("m");
		but[48].setBounds(381, 125, 48, 33);
		but[48].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"m");
			}
		});
		panel.add(but[48]);

		but[49] = new JButton(",");
		but[49].setBounds(432, 125, 49, 33);
		but[49].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+",");
			}
		});
		panel.add(but[49]);

		but[50] = new JButton(".");
		but[50].setBounds(483, 125, 50, 33);
		but[50].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+".");
			}
		});
		panel.add(but[50]);

		but[51] = new JButton("/");
		but[51].setBounds(533, 125, 45, 33);
		but[51].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"/");
			}
		});
		panel.add(but[51]);

		but[52] = new JButton("Shift");
		but[52].setBounds(581, 125, 129, 33);
		but[52].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[52]);

		but[53] = new JButton("Ctrl");
		but[53].setBounds(5, 164, 67, 33);
		but[53].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[53]);

		but[54] = new JButton("Win");
		but[54].setBounds(78, 164, 67, 33);
		but[54].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[54]);

		but[55] = new JButton("Alt");
		but[55].setBounds(153, 164, 67, 33);
		but[55].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[55]);

		but[56] = new JButton("");
		but[56].setBounds(225, 164, 329, 33);
		but[56].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+" ");
			}
		});
		panel.add(but[56]);

		but[57] = new JButton("Alt");
		but[57].setBounds(560, 164, 67, 33);
		but[57].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[57]);

		but[58] = new JButton("Ctrl");
		but[58].setBounds(635, 164, 75, 33);
		but[58].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel.add(but[58]);

		cp.add(panel);

		JPanel panel_num = new JPanel();
		panel_num.setOpaque(true);
		panel_num.setBounds(777, 359, 209, 216);
		panel_num.setLayout(null);
		cp.add(panel_num);

		but[59] = new JButton("Num");
		but[59].setBounds(5, 5, 63, 33);
		but[59].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
			}
		});
		panel_num.add(but[59]);

		but[60] = new JButton("/");
		but[60].setBounds(74, 5, 40, 33);
		but[60].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"/");
			}
		});
		panel_num.add(but[60]);

		but[61] = new JButton("*");
		but[61].setBounds(119, 5, 40, 33);
		but[61].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"*");
			}
		});
		panel_num.add(but[61]);

		but[62] = new JButton("-");
		but[62].setBounds(160, 5, 43, 68);
		but[62].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"-");
			}
		});
		panel_num.add(but[62]);

		for(int i=7;i<10;i++){
			but[56+i] = new JButton(i+"");
			but[56+i].setBounds(5+(i-7)*50, 44, 44, 33);
			final String text = i+"";
			but[56+i].addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					username.setText(username.getText()+text);
				}
			});
			panel_num.add(but[56+i]);
		}
		for(int i=4;i<7;i++){
			but[62+i] = new JButton(i+"");
			but[62+i].setBounds(5+(i-4)*50, 84, 44, 33);
			final String text = i+"";
			but[62+i].addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					username.setText(username.getText()+text);
				}
			});
			panel_num.add(but[62+i]);
		}
		for(int i=1;i<4;i++){
			but[68+i] = new JButton(i+"");
			but[68+i].setBounds(5+(i-1)*50, 124, 44, 33);
			final String text = i+"";
			but[68+i].addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					username.setText(username.getText()+text);
				}
			});
			panel_num.add(but[68+i]);
		}

		but[72] = new JButton("+");
		but[72].setBounds(160, 84, 43, 72);
		but[72].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"+");
			}
		});
		panel_num.add(but[72]);

		but[73] = new JButton("0");
		but[73].setBounds(5, 162, 60, 33);
		but[73].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"0");
			}
		});
		panel_num.add(but[73]);
		but[74] = new JButton(".");
		but[74].setBounds(72, 162, 44, 33);
		but[74].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+".");
			}
		});
		panel_num.add(but[74]);
		but[75] = new JButton("Enter");
		but[75].setBounds(122, 162, 81, 33);
		but[75].addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText(username.getText()+"Enter");
			}
		});
		panel_num.add(but[75]);

		JPanel panel_ka = new JPanel();
		panel_ka.setOpaque(true);
		panel_ka.setBounds(57, 359, 710, 216);
		panel_ka.setLayout(null);
		cp.add(panel_ka);
	}

}
分享到:
评论

相关推荐

    学生练习——Java Swing开发的小计算器

    在这个"学生练习——Java Swing开发的小计算器"项目中,学生利用Swing库创建了一个简易的计算器程序,用于执行基本的数学运算,如加、减、乘、除等。 Swing库提供了大量的组件,如JButton、JLabel、JTextField等,...

    GUI+Swing+计算器+练习

    在本资源中,我们主要探讨的是...总的来说,通过学习这个GUI+Swing+计算器的练习,开发者不仅可以掌握Swing的基本用法,还能了解到事件处理机制和简单的计算逻辑实现。这对于提升Java桌面应用开发能力是非常有帮助的。

    基于JAVASwing的贪食蛇小游戏 键盘事件监听 多线程 文件IO 自取

    在本文中,我们将深入探讨如何使用Java Swing库创建一个经典的贪食蛇小游戏。这个项目不仅是一个有趣的学习实践,而且...这是一个很好的起点,对于任何想要提升Java编程技能的初学者来说,都是一个既实用又有趣的练习。

    数字验证码练习工具.rar

    在这个验证码练习工具中,开发者可能利用了Swing库来构建交互式的窗口界面,用户可以在该界面上看到并输入验证码。Swing提供了丰富的组件,如JFrame、JLabel、JButton等,使得开发者能够轻松地构建出复杂的UI。 2. ...

    swing 入门资料

    在“javaupload”这个压缩包文件中,可能包含了Swing的相关教程、示例代码、练习项目等内容,用于帮助初学者快速掌握Swing的基本用法和高级特性。通过学习这些资料,开发者能够熟练运用Swing构建功能丰富的Java桌面...

    swing初学者入门教程

    - **实践**: 结合实际项目,尝试构建一些简单的Swing应用,不断练习以加深理解和熟练度。 通过以上知识点的详细介绍,希望能够帮助初学者更好地理解和掌握Swing框架,为进一步学习和开发Java桌面应用程序奠定坚实的...

    swing做贪吃蛇游戏

    在Java的Swing库中创建一个贪吃蛇游戏是一个经典的编程练习,它涵盖了图形用户界面(GUI)设计、事件处理、多线程以及基本的游戏逻辑等多个知识点。下面将详细讲解如何利用Swing来实现这个项目。 首先,我们需要...

    javaswing 打飞机小游戏

    总的来说,这个“javaswing 打飞机小游戏”项目是一个很好的实践案例,可以帮助开发者熟悉Java Swing的基本用法,理解事件处理、图形绘制和游戏循环等概念,对于初学者来说是一个有价值的编程练习。

    javaswing仿小游戏2048源代码+素材

    4. **控制逻辑**:这部分代码处理用户的输入,如键盘事件,将用户的操作转化为游戏内部的状态变化。 5. **更新界面**:每当游戏状态改变时,都需要更新界面以反映新的棋盘状态。 6. **素材**:提供的"2048导出的...

    Java键盘空格键练习程序代码.rar

    在Java编程领域,开发一款基于键盘输入的练习程序是一个常见的学习和锻炼技能的方式。这个"Java键盘空格键练习程序代码"提供了一个独特的实践环境,尤其是对于初学者来说,它可以帮助提升对键盘输入处理和游戏编程的...

    Java中的swing绘图

    6. **基本GUI程序设计**:创建一个简单的Swing应用,例如上述的“文本框和标签的练习”,通常涉及创建组件、设置布局、添加监听器和响应事件。在提供的代码示例中,程序创建了一个标签、一个文本框和一个按钮,当...

    儿时回忆,贪吃蛇,Java swing编写,完美运行。myeclipes导入即可

    3. **事件处理**:使用KeyListener或者ActionListener监听键盘输入,根据用户的按键移动蛇的方向。同时,游戏需要定时更新,可以使用javax.swing.Timer类来实现。 4. **逻辑处理**:管理蛇的状态,包括其位置、长度...

    java写的贪吃舌游戏,java swing界面。

    总结来说,这个Java编写的贪吃蛇游戏项目不仅涵盖了基本的Java编程知识,如类和对象、事件处理,还涉及到了Swing库的使用,对于初学者而言,是练习编程技巧和理解面向对象设计的好例子。通过实际操作,可以深入理解...

    Java.Swing图形界面开发与案例详解.王鹏等——第8章

    此外,Swing还支持键盘、鼠标和其他类型的事件处理。 四、高级特性 Swing提供了一些高级特性,如模型-视图-控制器(MVC)架构、可定制的外观(LookAndFeel)和轻量级组件。LookAndFeel允许开发者改变整个应用程序...

    基于Java中的swing类的图形化飞机游戏的开发练习.zip

    Swing提供了键盘和鼠标事件的处理,使得游戏可以根据用户的键盘或鼠标操作做出反应。例如,玩家可以通过键盘控制飞机的上下左右移动,点击鼠标发射子弹。 10. **测试与调试**: 为了确保游戏的稳定性和性能,...

    java swing的贪吃蛇代码,自己写的,没有用到线程 只用到Swing的timer类控制游戏运行

    Java Swing 是Java GUI库,用于构建桌面应用程序。在这个项目中,开发者使用Swing来实现了一个经典的贪吃蛇游戏,而没有使用...对于初学者,这是一个很好的练习项目,可以学习到Swing的基础和游戏开发的一些基本概念。

    java精通swing程序设计

    3. **事件处理**:学习如何注册事件监听器,处理如动作事件(ActionEvent)、鼠标事件(MouseEvent)和键盘事件(KeyEvent)等。 4. **对话框**:了解如何使用JOptionPane创建警告对话框、确认对话框和输入对话框,...

    基于Java的指法练习小游戏的设计与实现.pdf

    在指法练习小游戏中,事件监听器将捕捉用户的键盘操作事件,当用户正确或错误地敲击指定的字母按键时,程序会根据事件触发相应的逻辑,更新分数或执行其他游戏动作。Java Swing中事件处理通常通过实现ActionListener...

    Swing俄罗斯方块源代码

    4. **KeyListener**: 游戏需要监听用户的键盘输入,如左右移动、旋转和下落,所以会使用KeyListener来处理这些事件。不过,Swing推荐使用ActionListener和InputMap/ActionMap组合,因为KeyListener可能会遇到事件...

Global site tag (gtag.js) - Google Analytics