Evil__spirit 2020-04-30 22:42 采纳率: 100%
浏览 3140
已采纳

创建一个窗口,输入你的学号、姓名,选择所在班级,完成信息填写后,点击按钮,弹出对话框,该提示框显示你的学号、姓名和班级,以及确定按钮,点击确定按钮,对话框消失;关闭窗口。

用Java创建一个窗口,输入你的学号、姓名,选择所在班级(班级以下拉列表的形式给出,共5个班,软件1--软件5),完成信息填写后,点击按钮,弹出对话框,该提示框显示你的学号、姓名和班级,以及确定按钮,点击确定按钮,对话框消失;关闭窗口。这个该怎么写?

  • 写回答

2条回答 默认 最新

  • HelloWorldZTR 2020-05-01 10:22
    关注

    我太懒了...

    package com.hlwdztr;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    public class Test {
        private Label xuehaoLb;
        private Label xingmingLb;
        private Label banjiLb;
    
        private Dialog info;
    
        private Frame frame;
        private TextField xuehao;
        private TextField xingming;
        private Choice banji;
        private Button okButton;
    
        private String[] ban = {"软件1","软件2","软件3","软件4","软件5"};
    
        public Test(){
            xuehaoLb = new Label("学号",Label.CENTER);
            xingmingLb = new Label("姓名",Label.CENTER);
            banjiLb = new Label("班级",Label.CENTER);
    
            frame = new Frame("窗口");
            xuehao = new TextField();
            xingming = new TextField();
            banji = new Choice();
            okButton = new Button("确定");
    
            info = new Dialog(frame);
        }
    
        private void showInfo(){
            String xuehaoStr = xuehao.getText();
            String xingmingStr = xingming.getText();
            String banjiStr = banji.getSelectedItem();
    
            Button okButton2 = new Button("确定");
            okButton2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            });
    
            info.setTitle("对话框");
            info.setLayout(new BorderLayout());
            info.add(BorderLayout.CENTER, new Label("姓名是"+xingmingStr+'\t'+"班级是"+banjiStr+'\t'+"学号是"+xuehaoStr));
            info.add(BorderLayout.SOUTH, okButton2);
            info.addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });
            info.pack();
            info.setAlwaysOnTop(true);
            info.setVisible(true);
        }
    
        public void show(){
            for (String item : ban) {
                banji.addItem(item);
            }
    
            okButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    showInfo();
                }
            });
    
            frame.setLayout(new GridLayout(4,2));
            frame.add(xuehaoLb);
            frame.add(xuehao);
            frame.add(xingmingLb);
            frame.add(xingming);
            frame.add(banjiLb);
            frame.add(banji);
            frame.add(okButton);
    //        frame.pack();
            frame.addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });
            frame.setSize(200, 150);
            frame.setVisible(true);
        }
    
        public static void main(String[] args) {
            Test test = new Test();
            test.show();
        }
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?