Java语言程序设计 上机实验6 掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法

Posted xukaiae86

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java语言程序设计 上机实验6 掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法相关的知识,希望对你有一定的参考价值。


Java语言程序设计 上机实验6

实验目的

掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法。

实验内容:(*)为选做内容


  1. 输入两个整数,分别进行加、减、乘、除等算术运算,界面如下图所示。

 Java语言程序设计


要求:

1) 采用Swing组件设计图形用户界面,采用3个文本行JTextField分别表示两个操作数和运算结果,其中表示运算结果的文本行只能显示,不能输入;采用组合框JComboBox提供多种算数运算符的选择方式,组合框只能在下拉列表中选择,不能编辑。

2) 文本行要响应单击事件,组合框要响应选择事件。两个事件处理方法执行由组合框指定的算术运算。

3) 进行异常处理。当文本行中的字符串不能转换成整数时,弹出对话框显示指定信息,提示用户重新输入。


  1. (*) 显示字符串中每个字符的Unicode值,参考下图。

提示:使用表格组件,表格大小根据字符串长度变化。

   Java语言程序设计Java语言程序设计 

实验要求:

1. 在实验报告中给出程序运行结果截图。

2. 源程序代码附到实验报告的最后。

3. 认真填写实验报告并妥善存档,在上机实验课之前发送电子版实验报告至​wsycup@foxmail.com​

注意“​邮件标题​”“​附件实验报告文件名​”均为:

Java1实验报告N_学号_姓名

其中N为阿拉伯数字,指第几次实验,例如

Java1实验报告3_ 2012010400_李雷

请严格按照规定的格式发送邮件​​(注意标题中Java”后的数字“1”)邮件标题不符合格式要求等同于未交作业,并在规定的时间发送实验报告邮件,过期无效。

4. 实验报告雷同者将不能得到相应的平时分。




附录:实验报告

实验题目__实验​​6_______

学号_2014011329__    姓名_许恺____     班级__计算机14-1__     时间__2016.5.11____

实验题目解答

    Java语言程序设计

Java语言程序设计

Java语言程序设计

Java语言程序设计

Java语言程序设计


:源程序


package com.Test6;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Test6 extends JFrame implements ActionListener
private JTextField tex1,tex2,fin;
private JLabel jl;
private MessageJDialog jd;
private JComboBox box;
private static String fuhao[]="+","-","*","/";
int i;

public Test6()
super("整数计算器");
this.setBounds(300,240,420,80);
this.setResizable(false);
this.setBackground(java.awt.Color.lightGray);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));

tex1=new JTextField(10);
this.getContentPane().add(tex1);
tex1.setHorizontalAlignment(JTextField.LEFT);
tex1.addActionListener(this);

box=new JComboBox<String>(fuhao);
box.addActionListener(this);
box.setEditable(false);
this.getContentPane().add(box);

tex2=new JTextField(10);
this.getContentPane().add(tex2);
tex2.setHorizontalAlignment(JTextField.LEFT);
tex2.addActionListener(this);


jl=new JLabel("=");
this.getContentPane().add(jl);
jl.setHorizontalAlignment(JTextField.LEFT);

fin=new JTextField(10);
this.getContentPane().add(fin);
fin.setHorizontalAlignment(JTextField.LEFT);
fin.setEditable(false);
fin.addActionListener(this);

jd=new MessageJDialog(this);
this.setVisible(true);


private class MessageJDialog extends JDialog

JLabel jla;
JFrame Frame;
MessageJDialog(JFrame Frame)

super(Frame,"警告",true);
this.Frame=Frame;
this.setSize(300,80);
jla=new JLabel("111",JLabel.CENTER);
this.getContentPane().add(jla);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);

void show(String message)

jla.setText(message);
this.setLocation(Frame.getX()+100,Frame.getY()+100);

this.setVisible(true);


public void actionPerformed(ActionEvent a)
if(a.getSource()==box)

i=box.getSelectedIndex();

if(a.getSource()==tex2||a.getSource()==tex1)

String str = null;
try

if(i==0)

Integer x=Integer.parseInt(tex1.getText());
Integer y=Integer.parseInt(tex2.getText());
str=Integer.toString(x+y);

else if(i==1)

Integer x=Integer.parseInt(tex1.getText());
Integer y=Integer.parseInt(tex2.getText());
str=Integer.toString(x-y);

else if(i==2)

Integer x=Integer.parseInt(tex1.getText());
Integer y=Integer.parseInt(tex2.getText());
str=Integer.toString(x*y);

else if(i==3)

Integer x=Integer.parseInt(tex1.getText());
Integer y=Integer.parseInt(tex2.getText());
if(y==0)

jd.show("除数不能为0");
tex1.setText("");
tex2.setText("");
fin.setText("");

else
str=Integer.toString(x/y);

fin.setText(str);

catch(NumberFormatException e1)

jd.show("请输入整数");
tex1.setText("");
tex2.setText("");
fin.setText("");

finally;
/*try
int x=Integer.parseInt(tex1.getText());
int y=Integer.parseInt(tex2.getText());
if(box.getSelectedIndex()==0)
fin.setText(Integer.toString(x+y));
if(box.getSelectedIndex()==1)
fin.setText(Integer.toString(x-y));
if(box.getSelectedIndex()==2)
fin.setText(Integer.toString(x*y));
if(box.getSelectedIndex()==3&&tex2.getText()!="0")
fin.setText(Integer.toString(x/y));

catch(NumberFormatException e1)
jla.show("您输入的字符不能转换成整型,请重新输入!");
*/


public static void main(String[] args)
// TODO Auto-generated method stub
new Test6();







以上是关于Java语言程序设计 上机实验6 掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法的主要内容,如果未能解决你的问题,请参考以下文章

Java语言程序设计 上机实验5 异常

201971010109 2061-2017《java程序设计》第四周学习感想

程序设计实践报告

MATLAB模拟调制系统的上机实现

请教会C语言的高人线性顺序表问题

实验七 继承附加实验