上机实验-2 (1).doc

时间:2022-11-19 05:30:24
【文件属性】:

文件名称:上机实验-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;i0) { avg = sum/allnum; }else { avg = 0; } sumyun.setText(Double.toString(sum)); aveField.setText(Double.toString(avg)); } } }); /*numberField.setBounds(15, 15, 350, 100); contentPane.add(numberField); final JLabel label = new JLabel("和 值"); label.setBounds(60, 140, 70, 20); contentPane.add(label); final JLabel label_1 = new JLabel("平均值"); label_1.setBounds(60, 180, 70, 20); contentPane.add(label_1);*/ sumyun = new JTextField(); sumyun.setBounds(130, 140, 230, 25); contentPane.add(sumyun); sumyun.setColumns(10); aveField = new JTextField(); aveField.setBounds(130, 180, 230, 25); contentPane.add(aveField); aveField.setColumns(10); } }


网友评论