- 浏览: 224692 次
- 性别:
- 来自: 淄博
文章分类
- 全部博客 (666)
- java (6)
- android (9)
- 架构 (0)
- android游戏 (13)
- android系统 (14)
- c++ (14)
- 数据库 (10)
- javascript (2)
- 版本控制 (1)
- webservice (1)
- linux (5)
- uml (1)
- android多媒体部分 (16)
- java中的JNI (6)
- HTML5 (5)
- CSS3 (1)
- swing (13)
- 线程并发 (9)
- 分布式 (5)
- 云计算 (1)
- 通信协议 (4)
- xml (4)
- c# (1)
- lucene (0)
- ibatis (0)
- hibernate (3)
- struts1 (3)
- struts2 (4)
- jsf (0)
- spring (5)
- spring for android (0)
- 感悟 (2)
- jpa (1)
- android gis (1)
- jbpm (0)
- java设计模式 (8)
- java web (4)
- EXT js (0)
- node JS (2)
- python (3)
- c (17)
- weblogic (0)
- opencv (1)
最新评论
/**
* 对话框
*
* @time 11:09:20 AM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_Dialog extends Frame {
private static final long serialVersionUID = 1L;
TextField rows = new TextField("3");
TextField cols = new TextField("3");
/**
* 构造器
*
* @param owner
*/
public Test_Dialog() {
setTitle("Dialog Test");
// 实例化面板
Panel panel = new Panel();
panel.setLayout(new GridLayout(2, 2));
panel.add(new Label("Row", Label.CENTER));
panel.add(rows);
panel.add(new Label("Columns", Label.CENTER));
panel.add(cols);
// 将面板添加到帧窗口
add("North", panel);
add("South", new Button("GO"));
}
public boolean handleEvent(Event event) {
if (event.id == Event.WINDOW_DESTROY) {
System.exit(0);
} else {
return super.handleEvent(event);
}
return true;
}
public boolean action(Event event, Object object) {
if (object.equals("GO")) {
// 弹绘制差图对话框
Dialog dialog = new TestDialog(this, Integer.parseInt(rows.getText()), Integer.parseInt(cols.getText()));
dialog.show();
} else {
return super.action(event, object);
}
return true;
}
public static void main(String[] args) {
Test_Dialog dialog = new Test_Dialog();
dialog.resize(200, 100);
dialog.show();
}
}
/**
* 自定义对话框
*/
class TestDialog extends Dialog {
private static final long serialVersionUID = 1L;
static final int BLANK = 0;
static final int XX = 1;
static final int OO = 2;
int turn = XX;
public TestDialog(Frame frame, int w, int h) {
super(frame, "", false);
setLayout(new GridLayout(w, h));
// 添加自定义按钮
for (int i = 0; i < w * h; i++) {
add(new TestButton(this));
resize(w * 50, h * 50);
}
}
@Override
public boolean handleEvent(Event evt) {
if (evt.id == Event.WINDOW_DESTROY) {
dispose();
} else {
return super.handleEvent(evt);
}
return true;
}
}
/**
* 自定义按钮
*/
class TestButton extends Canvas {
private static final long serialVersionUID = 1L;
int state = TestDialog.BLANK;
TestDialog parentDialog;
/**
* 构造器
*/
TestButton(TestDialog parent) {
this.parentDialog = parent;
}
@Override
public void paint(Graphics g) {
int x1 = 0;
int y1 = 0;
int x2 = size().width - 1;
int y2 = size().height - 1;
// 画矩形
g.drawRect(x1, y1, x2, y2);
x1 = x2 / 4;
y1 = y2 / 4;
int wide = x2 / 2;
int high = y2 / 2;
// 画差
if (state == TestDialog.XX) {
g.drawLine(x1, y1, x1 + wide, y1 + high);
g.drawLine(x1, y1 + high, x1 + wide, y1);
}
// 画圈
if (state == TestDialog.OO) {
g.drawOval(x1, y1, x1 + wide / 2, y1 + high / 2);
}
}
// 按下画圈或是画差
@Override
public boolean mouseDown(Event evt, int x, int y) {
if (state == TestDialog.BLANK) {
//
state = parentDialog.turn;
parentDialog.turn = (parentDialog.turn == TestDialog.XX ? TestDialog.OO : TestDialog.XX);
} else {
state = (state == TestDialog.XX ? TestDialog.OO : TestDialog.XX);
}
// 重绘
repaint();
return true;
}
}
发表评论
-
swing 学习笔记一(画板Panel )
2012-09-04 11:18 735/** * 画板 * * @time 3:38:10 P ... -
swing学习笔记二(画布Canvas)
2012-09-04 11:19 650/** * 画布 * @time 11:23:53 AM ... -
swing学习笔记三(菜单快捷MenuBar )
2012-09-06 22:43 701/** * 菜单快捷键 * * @time 12:40: ... -
swing学习笔记四(单选按钮JRadioButton )
2012-09-06 22:44 299/** * 单选按钮 * @time 下午10:48:14 ... -
swing学习笔记五(进度条ProgressMonitor )
2012-09-06 22:44 686/** * 进度条 * * @time 3:30:01 ... -
swing 学习笔记七(菜单MenuBar )
2012-09-06 22:49 784/** * 菜单 * * @time 10:24:50 ... -
swing 学习笔记八(列表JList )
2012-09-08 16:32 637/** * 列表 * @time 4:53:26 PM ... -
swing 学习笔记九(选项卡 JApplet是japplet的扩展)
2012-09-08 16:33 636/** * 选项卡 JApplet是japplet的扩展 ... -
swing 学习笔记十(边界面局管理BorderLayout)
2012-09-08 16:35 546/** * 边界面局管理 * * @time 2:59: ... -
swing学习笔记十一(卡片布局管理器CardLayout )
2012-09-09 10:54 638/** * 卡片布局管理器 * * @time 9:49 ... -
swing 学习笔记十二(网格布局GridLayout)
2012-09-09 10:59 518/** * 网格布局 * * @time 3:22:44 ... -
swing学习笔记十四(复选框JCheckBox )
2012-09-09 11:00 553/** * 复选框 * * @time 3:54:18 ...
相关推荐
基于MFC的对话框Dialog的OpenGL程序框架 基于MFC的对话框Dialog的OpenGL程序框架 基于MFC的对话框Dialog的OpenGL程序框架 基于MFC的对话框Dialog的OpenGL程序框架 基于MFC的对话框Dialog的OpenGL程序框架
对话框 Dialog对话框是一种临时窗口,通常在不想中断整体任务流程,但又需要为用户展示信息或获得用户响应时,在页面中打开一个对话框承载相应的信息及操作。对话框
android 具有选择功能的对话框dialog
Android自定义对话框Dialog(界面美化)
提供了完整的Android对话框Dialog详细代码,可直接运行。内容包括确认对话框,列表对话框,单选对话框,多选对话框,自定义对话框。
jQuery对话框Dialog弹出层插件演示与使用说明
Android常用对话框Dialog封装.pdf
通用jQuery对话框dialog或popup弹出层或提示窗口插件
Android常用对话框Dialog封装[参照].pdf
创建自定义对话框dialog,弹出模式窗口 用于创建自定义对话框的轻量级(约 4.5 KB)代码库。四种对话框可用: alerts(出错), warnings(警告), prompts(提示), success(成功)。利用一个简单的函数,你可以自定义对话框...
使用AlertDialog创建的各种对话框,包括简单列表对话框、单选列表对话框、多选列表对话框、水平(圆形)进度对话框、自定义登录对话框。
在C#中创建的文件选择对话框其实就是OpenFileDialog类的实例。通过对设定 OpenFileDialog类的属性来定制文件选择对话框的式样和功能。OpenFileDialog类的主要属性如下表: 属性 说明 AddExtension 该值指示如果...
10-GUI(对话框Dialog).avi
Android自定义对话框Dialog(界面美化).zip
jQuery可拖动提示窗插件(对话框Dialog插件)
iPhone开发的控件中没有对话框这种控件,这是实现对话框的dialog的例子,可以很方便的使用对话框,就和其他普通控件一样,里面有例子教你如何快速上手,几分钟就能实现对话框。
Android移动应用开发之对话框Dialog的一些使用,例如一般对话框、列表对话框、单选对话框、多选对话框、时间,日期选择对话框以及进度条对话框
对话框Dialog
智能家居系统 普通对话框Dialog-教案.doc 学习资料 复习资料 教学资源
这是作何自己编写的VC++如何弹出对话框的代码,希望能帮助VC++的初学者。