`
linsyyang
  • 浏览: 5429 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

编程问题(1)

阅读更多
在写线程小球的代码的时候遇到的几个方面的问题
1.线程的创建位置的选择
2.传递参数
3.学会把程序写的更容易看懂和改写

首先,是线程位置的选择或者说是整个程序流程。在最初测试线程时,目的是每按一次按钮都能让小球从初始位置跑出来,
而后来,要实现小球的随按钮的按下而停止或者继续跑的功能时,因为按钮的动作是导致线程的运行变化,所以所以线程
的实例化必须要在按钮监听器之外,按钮监听器中只需要改变线程的内部属性值。

然后,是参数的传递。在这个程序中,我定义了3个类,一个包含主函数的测试类,一个实现按钮监听器的类和一个线程类。
测试类中主要实现界面的绘制和调用监听器和线程,线程类包含了绘制小球的方法和控制小球运动与停止的属性on_off
和改变该属性的方法change。监听器主要是修改线程类的内部的开关on_off属性。1)从监听器开始,因为属性on_off
是内部私有属性,方法change也是Thread类的私有方法,所以必须要在监听器类中调入一个Thread类的对象并设置
一个属性保存on_off的值,所以需要创建两个属性并重载其构造方法,传入Thread的对象和画布,然后在事件处理时
改变Thread类的属性值。2)Thread类中,需要监听器中改变了的on_off属性来控制小球的运动和停止,所以要传入
监听其中改变了的属性on_off,然后在根据属性来控制小球。反正,需要什么就去拿什么,根据应用来实现类的创建。

程序代码
//主函数测试类
public class PubbleRun {

/**建立窗口,当按下按钮"run"时,从窗口四个角各跑出一个小球
* @param args
*/
public static void main(String[] args) {
JFrame jf=new JFrame();
jf.setTitle("Pubble Run");
jf.setSize(600, 600);
JButton jb=new JButton("跑吧");
jb.setPreferredSize(new Dimension(80,50));
jf.add(jb);
jf.setLayout(new FlowLayout());
jf.setVisible(true);

Graphics g=jf.getGraphics();
PubbleThread ptlu=new PubbleThread(g,true);
ptlu.start();

ButtonActionListener l=new ButtonActionListener(g,ptlu);
jb.addActionListener(l);
}
}

//监听器类
ublic class ButtonActionListener implements ActionListener{
private Graphics g;
private int on_off=1;
private PubbleThread ptlu;

public ButtonActionListener(Graphics g,PubbleThread ptlu){
this.g=g;
this.ptlu=ptlu;
}

public void actionPerformed(ActionEvent e) {
ptlu.change();
}

//线程类
public class PubbleThread extends Thread{
private Graphics g;
private boolean on_off;

public PubbleThread(Graphics g,boolean on_off){
this.g=g;
this.on_off=on_off;
}

public void change(){
on_off =!on_off;

}

public void run(){
graw();
}

public void graw(){
....
....
}

}

还有一个就是从同学的指导中学到的,就是尽量不要在系统中已有的方法中写太多东西,如果实在有很多东西要补充,可
以再自己写一个方法然后从系统中自带的方法复写时调用就行了。

总之,敲代码需要的逻辑性和思维性还需要很多很多的练习才能一步一步慢慢训练出来。重要的是脚踏实地,不要急功近利
慢慢的一步一步去实现。不要急,不要焦躁,相信自己。
分享到:
评论

相关推荐

    编程珠玑 编程珠玑 编程珠玑 编程

    书中涵盖了一系列实用的编程问题和解决方案,这些“珠玑”般的编程智慧,无论对于初学者还是经验丰富的开发者,都有着极高的参考价值。 编程珠玑的核心概念之一是数据结构与算法的选择和设计。书中的例子多以实际...

    FX1N编程手册FX1N编程手册

    这份编程手册对于初学者和经验丰富的工程师来说都是宝贵的参考资料,它将帮助你快速掌握FX1N PLC的编程技巧,提高工作效率,解决实际工程问题。通过深入学习和实践,你可以灵活运用FX1N PLC实现各种复杂的控制任务,...

    编程语言、技术问题解决方案和使用经验编程语言、技术问题解决方案和使用经验编程语言、技术问题解决方案和使用经验编程语言、技术问题解

    编程语言、技术问题解决方案和使用经验编程语言、技术问题解决方案和使用经验编程语言、技术问题解决方案和使用经验编程语言、技术问题解决方案和使用经验编程语言、技术问题解决方案和使用经验编程语言、技术问题...

    青少年编程能力等级 第1部分:图形化编程.pdf

    从内容上看,标准文档可能包含多个部分,这里是“第1部分:图形化编程”,说明该标准是由若干部分组成的,且本部分专门针对图形化编程。由于所提供的内容段落出现了大量重复和无意义的文字,我们可以推断这可能是...

    测试你的逻辑及编程问题

    标题“测试你的逻辑及编程问题”暗示这是一次旨在评估编程和逻辑思维能力的练习或考试。这样的测试通常包括各种编程题目,目的是检验个人对于编程基础的理解,以及在解决复杂问题时的逻辑推理能力。 描述中提到...

    函数式编程思维.pdf_函数式编程_函数式编程思维_

    在"函数式编程思维"中,程序员会倾向于用数据流和变换来思考问题,而不是通过控制流程来解决问题。这种方式可以提高代码的可读性和可维护性,因为函数式编程通常会产生更简洁、更模块化的代码。此外,由于函数式编程...

    编程心得体会 编程心得体会 编程心得体会

    比如,将现实生活中的问题(如调换饮料)与编程问题(如交换变量值)类比,这种思维方式可以激发创新的解决方案。 通过这样的课程设计和学习过程,我们不仅提升了编程技能,还锻炼了解决问题的能力,学会了如何将...

    规划问题编程软件教程

    Lingo教程,解决各种规划问题编程软件

    编程猫基础练习题模拟测试题附答案

    对于问题1,正确答案是AB积木,可以让角色向上移动。 2. 事件处理:编程猫平台上有多种事件处理方式,例如点击事件、键盘事件等。对于问题2,正确答案是CD积木,不是事件积木盒子内的代码。 3. 角色变大:编程猫...

    少儿python编程教学 少儿编程python授课ppt

    除了技术层面的知识,少儿Python编程课程更注重培养孩子们的逻辑思维、问题解决和创新意识。通过编程,孩子们将学会如何分解问题、抽象思维,这对他们的未来学习和生活都将大有裨益。 总的来说,"少儿Python编程...

    编程珠玑源码下载编程珠玑书后源代码

    3. **问题解决策略**:书中提出了解决编程问题的一些通用方法,如预处理、分治法、动态规划等,帮助读者建立系统化的思维模式。 4. **性能分析**:讲解如何分析和改进程序性能,包括时间复杂度和空间复杂度的计算,...

    MFC编程教程课件.rar 一般编程问题

    MFC编程教程课件.rar 一般编程问题 【实例简介】 南京邮电大学本科生MFC课件,内含全部教程和编程试验! 【核心代码】 16359647507888125065.rar └── windows编程 ├── 01.ppt ├── 01_VC6程序.rar ├── 02...

    编程猫竞赛测试题模拟测试题附答案

    这个问题考查了学生对scratch编程语言的理解和编程能力。答案是ABC,这个问题考查了学生对scratch编程语言的理解和应用。 知识点:scratch编程语言、编程概念 6. 我们都知道在编程中变量的作用是储存不断地变化的...

    XTW-5编程器安装包 XTW-5编程器安装包

    1. 编程与烧录:XTW-5编程器支持多种微控制器和闪存芯片的编程,能够将编译好的程序快速烧录到目标硬件中。 2. 调试功能:提供实时的硬件调试接口,允许开发者在程序运行过程中进行断点设置、变量查看、步进执行等...

    编程猫知识测试模拟测试题附答案

    问题 "*1(正确答案)2" 旨在让用户了解编程猫的基本概念,包括指令、传感器等。 4. *光敏传感器* 这个问题旨在让用户了解光敏传感器的概念和应用,包括光敏传感器的定义、光敏传感器的应用等。 5. *温湿度传感器* ...

    编程之美:微软技术面试心得.pdf_编程之美_

    这本书集结了微软公司在招聘过程中遇到的经典编程题目和解决思路,旨在帮助读者提升编程技能,增强解决实际问题的能力,同时也为面试者提供了一个了解微软技术面试流程和题型的窗口。 书中涵盖的知识点广泛且深入,...

    经典VC期刊(C与VC及常见编程问题)

    《经典VC期刊:深入理解C与VC及常见编程问题》 C语言和Visual C++(简称VC)是软件开发中的重要工具,它们各自拥有独特的特性和应用领域。本期刊聚焦于这两个领域的经典问题,旨在帮助程序员提升编程技能,解决实际...

    7.CUDA C编程权威指南 (1)1

    CUDA是一种利用NVIDIA GPU进行高性能计算的编程平台,特别适合解决大规模并行计算问题。 在并行计算部分,书中首先介绍了串行编程与并行编程的区别,指出并行性是提升计算效率的关键。并行性允许同时处理多个任务,...

    欧姆龙ST编程中文手册

    本章将对欧姆龙ST语言编程中需要注意的一些问题进行讲解,包括安全注意事项、应用注意事项等。 3.1 安全注意事项 在编程过程中,需要遵守一定的安全规则,以避免人身伤害或财产损失。例如,在编程过程中,需要注意...

Global site tag (gtag.js) - Google Analytics