文件名称:上机实验-2 (1).doc
文件大小:119KB
文件格式:DOC
更新时间:2022-11-19 05:30:24
aaa
武汉理工java实验2,大家课学习参考package sun;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.StringTokenizer;
//导入
public class Test1 extends JFrame {//继承JFrame
private final JPanel contentPane;//私有类,其他类不能享用
private final JTextPane numberField;//容器类
private final JTextField sumyun;//创建对象
private final JTextField aveField;
public static void main(final String[] args) {//主函数
EventQueue.invokeLater(new Runnable() {//使事件派发线程上的可运行对象排队。当可运行对象排在事件派发队列的队首时,就调用其run方法
public void run() {
try {
final Test1 frame = new Test1();//捕获异常
frame.setVisible(true);
} catch (final Exception e) {
e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因
}
}
});
}
public Test1() {
super("第二次实验:和与平均值");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使用 System exit 方法退出应用程序。仅在应用程序中使用。
setBounds(100, 100, 400, 300);//setBounds(x,y,width,height):x:组件在容器X轴上的起点;y:组件在容器Y轴上的起点;width:组件的长度;height:组件的高度。
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(10, 10, 10, 10));
setContentPane(contentPane);//给窗体加个panel作为内容面板
contentPane.setLayout(null);
numberField = new JTextPane();
numberField.addKeyListener(new KeyAdapter() {//键盘事件监听者
public void keyTyped(final KeyEvent e) {
double sum = 0,avg = 0;
switch(e.getKeyChar()) {
case KeyEvent.VK_SPACE: //分隔符为空格
case KeyEvent.VK_COMMA: //分隔符为英文逗号
case KeyEvent.VK_ENTER: //分隔符为回车
final String str=numberField.getText();
final StringTokenizer analyze = new StringTokenizer(str," ,\n");//StringTokenizer 用来分割字符串,用,/n分割
final int allnum=analyze.countTokens();
for(int i =0;i