java学习笔记_GUI(5)
demo如何为不同的button创建对应的响应函数
import javax.swing.*;
import java.awt.event.*;
import java.awt.*; class MyPanel_2 extends JPanel {
public void paintComponent( Graphics g ) {
g.fillRect(0, 0, this.getWidth(), this.getHeight());
int red = (int) (Math.random() * 255);
int green = (int) (Math.random() * 255);
int blue = (int) (Math.random() * 255);
Color randomColor = new Color(red, green, blue);
g.setColor(randomColor);
g.fillOval(70, 40, 100, 100);
}
} class Gui{ JButton button = new JButton("change color");
JButton button_change_label = new JButton("change label");
JLabel label = new JLabel("I'm a label");
JFrame frame = new JFrame(); private void set_frame() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setVisible(true);
} public void show_my_panel() {
set_frame();
frame.getContentPane().add(BorderLayout.SOUTH, button);
button.addActionListener(new ColorButtonActionListener()); frame.getContentPane().add(BorderLayout.EAST, button_change_label);
button_change_label.addActionListener(new LabelButtonActionListener() ); frame.getContentPane().add(BorderLayout.WEST, label); frame.getContentPane().add(BorderLayout.CENTER,new MyPanel_2());
} class ColorButtonActionListener implements ActionListener {
public void actionPerformed( ActionEvent event ) {
frame.repaint();
}
} class LabelButtonActionListener implements ActionListener {
public void actionPerformed( ActionEvent event ) {
label.setText("That hurt!");
}
}
} class GuiTest {
public static void main( String[] args ) {
Gui gui = new Gui();
gui.show_my_panel();
}
}
java学习笔记_GUI(5)的更多相关文章
- java学习笔记_GUI(4)
import javax.swing.*; import java.awt.event.*; import java.awt.*; class MyPanel_0 extends JPanel { p ...
- java学习笔记_GUI(3)
如何加入自己定义的Panel import javax.swing.*; import java.awt.event.*; import java.awt.*; 5 class MyPanel ext ...
- java学习笔记_GUI(2)
import javax.swing.*; import java.awt.event.*; class Gui implements ActionListener{ JButton button = ...
- java学习笔记_GUI(1)
import javax.swing.*; public class Gui { public static void main(String[] args) { JFrame frame = new ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
随机推荐
- 内核映像的形成 —— KBuild体系
1. http://blog.csdn.net/yunsongice/article/details/6046537 2. http://blog.csdn.net/yunsongice/articl ...
- Android 使用 Gmail 来发送邮件
Android 使用 Gmail 来发送邮件 1. [代码]SendMail.java package org.apache.android.mail; import android.app.Acti ...
- [ES6] 18. Map
ES6 provides Map, it is a set of k-v pair. Key can be number, string, object, function and even unde ...
- Java多线程之wait(),notify(),notifyAll()
在多线程的情况下,因为同一进程的多个线程共享同一片存储空间,在带来方便的同一时候,也带来了訪问冲突这个严重的问题.Java语言提供了专门机制以解决这样的冲突,有效避免了同一个数据对象被多个线程同一时候 ...
- Python string objects implementation
http://www.laurentluce.com/posts/python-string-objects-implementation/ Python string objects impleme ...
- 项目源码--Android本地音乐播放器
下载源码 技术要点: 1.本地音乐播放与管理 2.支持在线下载 3.非库音频流的解码 4. UI控件的综合使用 5. HTTP通信模块 6. Mysql数据库的综合使用 7. 后台服务技术 8. 源码 ...
- Android的属性系统
http://blog.csdn.net/jerryutscn/article/details/5519423 Android的属性系统 每条属性包含了名字和其对应的值,两者都用字符串来描述.Andr ...
- Logback日志使用详解
概述 Logback建立于三个主要类之上:日志记录器(Logger),输出端(Appender)和日志格式化器(Layout).这三种组件协同工作,使开发者可以按照消息类型和级别来记录消息,还可以在程 ...
- jquery 设置style:display 其实很方便的
("#id").css('display','none'); $("#id").css('display','block'); 或 $("#id&qu ...
- 记第一次web前端校招笔试
是的,我今晚跑到隔壁学校参加某电商公司的宣讲会+现场笔试.只有俩字可以形容:苦笑! 在寝室复习了下以前学习的关于前端方面的知识,重点是JavaScript,javaweb开发技术(jsp+servle ...