demo如何为不同的button创建对应的响应函数

  1. import javax.swing.*;
  2. import java.awt.event.*;
  3. import java.awt.*;
  4.  
  5. class MyPanel_2 extends JPanel {
  6. public void paintComponent( Graphics g ) {
  7. g.fillRect(0, 0, this.getWidth(), this.getHeight());
  8. int red = (int) (Math.random() * 255);
  9. int green = (int) (Math.random() * 255);
  10. int blue = (int) (Math.random() * 255);
  11. Color randomColor = new Color(red, green, blue);
  12. g.setColor(randomColor);
  13. g.fillOval(70, 40, 100, 100);
  14. }
  15. }
  16.  
  17. class Gui{
  18.  
  19. JButton button = new JButton("change color");
  20. JButton button_change_label = new JButton("change label");
  21. JLabel label = new JLabel("I'm a label");
  22. JFrame frame = new JFrame();
  23.  
  24. private void set_frame() {
  25. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26. frame.setSize(800, 600);
  27. frame.setVisible(true);
  28. }
  29.  
  30. public void show_my_panel() {
  31. set_frame();
  32. frame.getContentPane().add(BorderLayout.SOUTH, button);
  33. button.addActionListener(new ColorButtonActionListener());
  34.  
  35. frame.getContentPane().add(BorderLayout.EAST, button_change_label);
  36. button_change_label.addActionListener(new LabelButtonActionListener() );
  37.  
  38. frame.getContentPane().add(BorderLayout.WEST, label);
  39.  
  40. frame.getContentPane().add(BorderLayout.CENTER,new MyPanel_2());
  41. }
  42.  
  43. class ColorButtonActionListener implements ActionListener {
  44. public void actionPerformed( ActionEvent event ) {
  45. frame.repaint();
  46. }
  47. }
  48.  
  49. class LabelButtonActionListener implements ActionListener {
  50. public void actionPerformed( ActionEvent event ) {
  51. label.setText("That hurt!");
  52. }
  53. }
  54. }
  55.  
  56. class GuiTest {
  57. public static void main( String[] args ) {
  58. Gui gui = new Gui();
  59. gui.show_my_panel();
  60. }
  61. }

java学习笔记_GUI(5)的更多相关文章

  1. java学习笔记_GUI(4)

    import javax.swing.*; import java.awt.event.*; import java.awt.*; class MyPanel_0 extends JPanel { p ...

  2. java学习笔记_GUI(3)

    如何加入自己定义的Panel import javax.swing.*; import java.awt.event.*; import java.awt.*; 5 class MyPanel ext ...

  3. java学习笔记_GUI(2)

    import javax.swing.*; import java.awt.event.*; class Gui implements ActionListener{ JButton button = ...

  4. java学习笔记_GUI(1)

    import javax.swing.*; public class Gui { public static void main(String[] args) { JFrame frame = new ...

  5. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  6. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  7. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  8. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  9. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

随机推荐

  1. 开发者必备,超实用的PHP代码片段(转)

    此前,研发频道曾发布<直接拿来用,10个PHP代码片段>,得到了网友们的一致好评.本文,笔者将继续分享九个超级有用的PHP代码片段.当你在开发网站.应用或者博客时,利用这些代码能为你节省大 ...

  2. Percona-Galera-Monitoring-Template监控模板说明

    http://blog.chinaunix.net/uid-16844903-id-4054635.html 官网链接:http://www.percona.com/doc/percona-monit ...

  3. hadoop实例---多表关联

    多表关联和单表关联类似,它也是通过对原始数据进行一定的处理,从其中挖掘出关心的信息.如下 输入的是两个文件,一个代表工厂表,包含工厂名列和地址编号列:另一个代表地址表,包含地址名列和地址编号列.要求从 ...

  4. Helpers\Password

    Helpers\Password The password class uses php 5 password_ functions. To create a hash of a password, ...

  5. 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish

    WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...

  6. C语言宏定义相关

    写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等.下面列举一些成熟软件中常用得宏定义......1,防止一个头文件被重复包含#ifndef COMDEF_H# ...

  7. XML 格式转JSON 格式

    #import <Foundation/Foundation.h> #pragma GCC diagnostic push #pragma GCC diagnostic ignored & ...

  8. cmd运行java,含传参,引用jar

    1,创建一个java project,完成编码 在Eclipse的资源管理器中选中你要打包的项目,右键点击,选择“导出”项,弹出导出对话框,在下面的Java目录下选择“JAR 文件”项,下一步,在导出 ...

  9. ios webview点击图片看大图效果及相应手势操作

    下面参考资料有比较详细的解释,在之前的就项目中也有比较好的效果(支持更多手势),可以参考下 参考资料

  10. oracle--clob

    最近,收到这样的异常邮件: Error updating database.  Cause: java.sql.SQLException: ORA-01461: can bind a LONG val ...