`
koudailidexiaolong
  • 浏览: 88886 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

AWT 图形界面开发

 
阅读更多

自己做的一个简单的java桌面程序 算是一个初试吧!

MyFrame类

package com.dragon.bean2;

import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.util.ArrayList; import java.util.List;

public class MyFrame extends Frame { /** * 定义集合保存面板中所有的按钮 */ private List<Button> buttonList = new ArrayList<Button>(); public MyFrame(){ this.setVisible(true); this.setTitle("练习三"); this.setSize(500, 500); this.addWindowListener(new UserMyFrameWindowListener()); //采用布局方式为边界布局 this.setLayout(new BorderLayout()); init(); } Panel panel1 = new Panel();//北 Panel panel2 = new Panel();//中 Panel panel3 = new Panel();//南 Button btn1 = new Button("重新开始"); Button btn2 = new Button("退出游戏"); Label label1 = new Label(); Label label2 = new Label(); int count = 0; public void init(){ panel1.setLayout(new BorderLayout()); label1.setText("当前的进度是:"); panel1.add(label1,BorderLayout.WEST); label2.setText("您已经使用了"+count+"步"); panel1.add(label2,BorderLayout.EAST); //设置网格布局 panel2.setLayout(new GridLayout(9,9)); for (int i = 1; i <= 81; i++) { Button btn = new Button(); btn.setBackground(Color.cyan); //设置按钮的名称 btn.setName(i+""); //设置单击事件 btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub count++; label2.setText("您已经使用了"+count+"步"); //System.out.println(e.getWhen()); //Button btn = new Button(); //System.out.println(e.paramString()); //btn.setBackground(Color.red); //获得当前单击的按钮对象 Button btn = (Button) e.getSource(); //System.out.println(btn.getX()); //System.out.println(btn.getY()); System.out.println( e.getSource()); //System.out.println(btn.getName()); if(btn.getBackground()==Color.black){ btn.setBackground(Color.cyan); }else{ btn.setBackground(Color.black); } //System.out.println(5%3); int index = Integer.valueOf(btn.getName()); System.out.println("当前的按钮是:"+index); //设置左边的按钮的颜色 Button btnLeft = getLeftButton(index); //判断左边的按钮是否存在 if(btnLeft!=null){ if(btnLeft.getBackground()==Color.black){ btnLeft.setBackground(Color.cyan); }else{ btnLeft.setBackground(Color.black); } } //右边的按钮 Button btnRight = getRightButton(index); if(btnRight!=null){ if(btnRight.getBackground()==Color.black){ btnRight.setBackground(Color.cyan); }else{ btnRight.setBackground(Color.black); } } //上按钮 Button btnTop = getTopButton(index); if(btnTop!=null){ if(btnTop.getBackground()==Color.black){ btnTop.setBackground(Color.cyan); }else{ btnTop.setBackground(Color.black); } } //下按钮 Button btnButtom = getButtomButton(index); if(btnButtom!=null){ if(btnButtom.getBackground()==Color.black){ btnButtom.setBackground(Color.cyan); }else{ btnButtom.setBackground(Color.black); } } } }); buttonList.add(btn); panel2.add(btn); } //流式布局 panel3.setLayout(new FlowLayout()); //从新开始事件 btn1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub count = 0; label2.setText("您已经使用了"+count+"步"); for (Button btn : buttonList) { btn.setBackground(Color.cyan); } } }); //退出按钮事件 btn2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub count = 0; System.exit(0); } }); panel3.add(btn1); panel3.add(btn2); //panel1.setBackground(Color.black); this.add(panel1,BorderLayout.NORTH); this.add(panel2,BorderLayout.CENTER); this.add(panel3,BorderLayout.SOUTH); } /** * 获得左边的按钮 * @param index * @return */ public Button getLeftButton(int index){ Button btn = null; ////分析 // 1%9 = 0; // 10%9 = 0; //左边的按钮 if(index%9!=1){ System.out.println("左边的按钮是:"+(index-1)); btn = buttonList.get(index-2); //System.out.println(btn.getName()); } return btn; } /** * 设置右边的按钮 * @param index * @return */ public Button getRightButton(int index){ Button btn = null; if(index%9!=0){ System.out.println("右边的按钮是:"+(index+1)); btn = buttonList.get(index); } return btn; } /** * 上边的按钮 * @param index * @return */ public Button getTopButton(int index){ Button btn = null; if(index>9){ System.out.println("上边的按钮是:"+(index-9)); btn = buttonList.get(index-10); } return btn; } public Button getButtomButton(int index){ Button btn = null; if(index<73){ System.out.println("下边的按钮是:"+(index+9)); btn = buttonList.get(index+8); } return btn; } //定义内部类 class UserMyFrameWindowListener implements WindowListener{

@Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub

}

@Override public void windowClosed(WindowEvent e) { // TODO Auto-generated method stub

}

@Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub count = 0; //关闭窗口 System.exit(0); }

@Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub

}

@Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub

}

@Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub

}

@Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub

}

}

}

Test测试类

package com.dragon.bean2;

public class Test {

/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub MyFrame myFrame = new MyFrame(); }

}

效果图:
AWT 图形界面开发 - 口袋里的小龙 - 口袋里的小龙

<wbr></wbr>

分享到:
评论

相关推荐

    AWT图形用户界面设计

    AWT图形用户界面设计

    第十八章 图形界面开发--AWT,Swing,SWT.pdf

    第十八章 图形界面开发--AWT,Swing,SWT.pdf第十八章 图形界面开发--AWT,Swing,SWT.pdf第十八章 图形界面开发--AWT,Swing,SWT.pdf第十八章 图形界面开发--AWT,Swing,SWT.pdf第十八章 图形界面开发-...

    图形界面开发--AWT,Swing,SWT

    java图形界面开发技术--AWT,Swing,SWT

    Java图形界面开发-awt、swing、swt

    介绍java图形界面开发的相关知识,对于用Java进行界面设计初级学者很有帮助。

    Java 语言的图形界面开发技术

    用抽象窗口工具包AWT和Swing包中来开发图形用户界面; 领悟事件处理机制,使程序能够与用户交互; 学会利用布局管理器管理来管理组件的布局; 掌握AWT包和Swing包中各容器和组件的用法; 了解Java Applet程序和Java ...

    第18章图形界面开发--AWT,Swing,SWT.pdf

    MyEclipse 6 Java 开发中文教程第18章图形界面开发--AWT,Swing,SWT.pdf

    java高手真经 光盘源码

    javaawt.zip 16.AWT图形界面开发——Java文本编辑器 javamedia.zip 17.AWT多媒体编程——录音机、MP3播放器、视频拍照、视频播放器 javaswing.zip 18.Swing图形界面开发——Java文本编辑器 javaswt.zip 19.SWT...

    Java高手真经(编程基础卷)光盘全部源码 免积分

    javaawt.zip 16.AWT图形界面开发——Java文本编辑器 javamedia.zip 17.AWT多媒体编程——录音机、MP3播放器、视频拍照、视频播放器 javaswing.zip 18.Swing图形界面开发——Java文本编辑器 javaswt.zip 19.SWT...

    Java高手真经(编程基础卷)光盘全部源码

    javaawt.zip 16.AWT图形界面开发——Java文本编辑器 javamedia.zip 17.AWT多媒体编程——录音机、MP3播放器、视频拍照、视频播放器 javaswing.zip 18.Swing图形界面开发——Java文本编辑器 javaswt.zip 19.SWT图形...

    AWT图形化界面.xmind

    javaGUI界面的继承关系,使初学者对Swing开发的对象继承关系有很好的了解

    Java语言的图形用户界面开发技术

    应用AWT组件开发图形用户界面程序 Java事件处理 图形用户界面AWT组件学习 应用Swing组件开发图形用户界面 Applet应用程序与图形用户界面介绍

    java图形界面开发插件

    eclipse图形界面awt、swing辅助开发插件,解压到eclipse安装目录的plugins文件夹中即可

    MyEclipse图形界面开发Swing_SWT

    MyEclipse_6_第十八章_图形界面开发--AWT_Swing_SWT 具体的实例代码教你如何完成图形界面的设计

    java图形界面开发,简单的计算器

    import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax....

    JAVA图形用户界面

    应用AWT组件开发图形用户界面程序 Java事件处理 图形用户界面AWT组件学习 应用Swing组件开发图形用户界面 Applet应用程序与图形用户界面介绍

    如何进行Java GUI图形用户界面编程

    AWT中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面的类,这些类被称为组件。Java Swing是Java...

Global site tag (gtag.js) - Google Analytics