实验四.docx

上传人:b****8 文档编号:29706102 上传时间:2023-07-26 格式:DOCX 页数:13 大小:75.64KB
下载 相关 举报
实验四.docx_第1页
第1页 / 共13页
实验四.docx_第2页
第2页 / 共13页
实验四.docx_第3页
第3页 / 共13页
实验四.docx_第4页
第4页 / 共13页
实验四.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验四.docx

《实验四.docx》由会员分享,可在线阅读,更多相关《实验四.docx(13页珍藏版)》请在冰豆网上搜索。

实验四.docx

实验四

实验四图形用户界面的设计

云南大学信息学院面向对象技术导论java程序设计大学教程实验

【开发语言及实现平台或实验环境】

Windows2000或XP,JDK1.6与Jcreator4.0

【实验目的】

1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法

2.了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

【实验要求】

1.掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。

2.理解Java的事件处理机制,掌握为不同组件编写事件处理程序的方法。

3.掌握编写独立运行的窗口界面的方法。

4.了解JavaSwing组件的使用方法。

5.了解对话框的使用方法。

【实验内容】

一、进制转换

程序功能:

在窗口中创建单选框、文本区域、单行文本框等组件,并实现根据用户输入的10进制数,选择不同选项可转换为2、8、16进制数。

实验代码:

packagebao;

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassTransextendsJFrameimplementsActionListener{

ButtonGroupbg;

JTextFieldtx1;

JRadioButtonr1,r2,r3,r4;

JTextAreajta=newJTextArea(6,25);

intop=0;

publicTrans()

{

super("进制转换");

this.setSize(300,300);

setLayout(newFlowLayout());

add(newJLabel("输入10进制数"));

tx1=newJTextField("",6);

add(tx1);

add(jta);

add(newJLabel("请选择进制:

"));

r1=newJRadioButton("");

r1.addActionListener(this);

r2=newJRadioButton("");

r2.addActionListener(this);

r3=newJRadioButton("");

r3.addActionListener(this);

r4=newJRadioButton("");

r4.addActionListener(this);

add(r1);

add(newJLabel("2进制"));

add(r2);

add(newJLabel("8进制"));

add(r3);

add(newJLabel("16进制"));

add(r4);

add(newJLabel("10进制"));

bg=newButtonGroup();

bg.add(r1);

bg.add(r2);

bg.add(r3);

bg.add(r4);

this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==r1)op=1;

if(e.getSource()==r2)op=2;

if(e.getSource()==r3)op=3;

if(e.getSource()==r4)op=4;

inta=Integer.parseInt(tx1.getText());

switch(op)

{

case1:

jta.append("2进制值为"+Integer.toBinaryString(a)+"\n");

break;

case2:

jta.append("8进制值为"+Integer.toOctalString(a)+"\n");

break;

case3:

jta.append("16进制值为"+Integer.toHexString(a)+"\n");

break;

case4:

jta.append("10进制值为"+a+"\n");

break;

default:

jta.append("请选择运算符");

}

}

publicstaticvoidmain(Stringargs[])

{

newTrans();

}

}

程序结果:

二、简单计算器

程序功能:

在窗口中输入操作数1和操作数2,选择加减乘除中的一种运算,点击“计算”按钮,得到结果。

实验代码:

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

publicclasssimpleCalculatorextendsJFrameimplementsActionListener,ItemListener

{

ButtonGroupbg;

JLabella1;

JRadioButtona1,a2,a3,a4;

JTextFieldtf1,tf2;

JButtonb1;

intop=0;

publicsimpleCalculator()

{

setTitle("简单计算器");

setSize(200,180);

setLayout(newFlowLayout());

add(newJLabel("操作数1"));

tf1=newJTextField("",9);

add(tf1);

a1=newJRadioButton("+");add(a1);

a2=newJRadioButton("-");add(a2);

a3=newJRadioButton("×");add(a3);

a4=newJRadioButton("÷");add(a4);

bg=newButtonGroup();

bg.add(a1);

bg.add(a2);

bg.add(a3);

bg.add(a4);

add(newJLabel("操作数2"));

tf2=newJTextField("",9);

add(tf2);

a1.addItemListener(this);

a2.addItemListener(this);

a3.addItemListener(this);

a4.addItemListener(this);

b1=newJButton("计算");

add(b1);

b1.addActionListener(this);

la1=newJLabel("");

add(la1);

setVisible(true);

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEventevt){

System.exit(0);

}

});

}

publicvoiditemStateChanged(ItemEvente)

{

if(e.getSource()==a1)op=1;

if(e.getSource()==a2)op=2;

if(e.getSource()==a3)op=3;

if(e.getSource()==a4)op=4;

}

publicvoidactionPerformed(ActionEvente)

{

doublem=Double.parseDouble(tf1.getText());

doublen=Double.parseDouble(tf2.getText());

doublek;

if(op==0)la1.setText("请选择运算符");

if(op==1){

k=m+n;

la1.setText(""+k);

}

if(op==2)

{

k=m-n;

la1.setText(""+k);

}

if(op==3){

k=m*n;

la1.setText(""+k);

}

if(op==4){

k=m/n;

la1.setText(""+k);

}

}

publicstaticvoidmain(Stringargs[])

{

newsimpleCalculator();

}

}

运行结果:

三、键盘鼠标响应

程序功能:

在窗口中用鼠标左键和右键单击时,窗口下方显示哪个键被点击,坐标是多少;当键盘上某个键被点击时,窗口下方显示这个键的名称。

实验代码:

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassmouseAndKeyboardEventDemoextendsJFrameimplementsMouseListener{

JLabels1;

JFrameframe;

publicmouseAndKeyboardEventDemo(){

frame=newJFrame();

s1=newJLabel();

frame.setTitle("键盘鼠标响应");

frame.setSize(320,320);

frame.setVisible(true);

frame.addMouseListener(this);

frame.add("South",s1);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidmousePressed(MouseEvente){}

publicvoidmouseReleased(MouseEvente){}

publicvoidmouseEntered(MouseEvente){}

publicvoidmouseExited(MouseEvente){}

publicvoidmouseClicked(MouseEvente){

switch(e.getButton())

{

case1:

s1.setText("左键被点击,坐标("+e.getX()+","+e.getY()+")");

break;

case2:

s1.setText("滑轮被点击,坐标("+e.getX()+","+e.getY()+")");

break;

case3:

s1.setText("右键被点击,坐标("+e.getX()+","+e.getY()+")");

break;

}

}

publicstaticvoidmain(String[]args){

newmouseAndKeyboardEventDemo();

}

}

实验结果:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1