자바 프로그래밍 실험 1

"자바 프로그래밍"실험 보고서 (1)

실험 이름 : Java 개발 환경의 익숙한 실험 위치 : 10-414

사용 된 도구 및 환경 :

환경 : Windows 8.1, jdk 1.8,

도구 : 일식

목적:

Eclipse에서 간단한 Java 프로그램을 편집, 컴파일, 실행 및 디버그합니다.

실험 내용 :

1. Java 애플리케이션 프로그래밍에 익숙 함 (
예 : 스캐너 클래스 p125.
표준 대화 상자
p155) 2. WindowBuilder UI 프로그래밍에 익숙하고 그림과 같이 간단한 입력 및 출력 상자를 만듭니다.
여기에 사진 설명 삽입

절차 1 :

package com;

import java.util.Scanner;

public class Test01 {
    
    
    public static void main(String[] args) {
    
    
            for(int i=0;i<5;i++){
    
    

            Scanner input = new Scanner(System.in);
            System.out.println("请输入学生的分数:");
            double score = input.nextDouble();
            int level1,level2;
            if(score>=90.0 && score<=100.0){
    
     level1 = 1;}
            else if(score>=75.0){
    
     level1 = 2;}
            else if(score>=60.0){
    
     level1 = 3;}
            else if(score>=40.0){
    
     level1 = 4;}
            else{
    
     level1 = 5;}

            if(score>=85.0&&score<=100.0){
    
    level2 = 1;}
            else if(score>=70.0){
    
    level2 = 2;}
            else if(score>=60.0){
    
    level2 = 3;}
            else{
    
    level2 = 4;}
            switch(level1)
            {
    
    
                case 1:
                    System.out.print("该生的成绩绩点是:  5\n");
                    break;
                case 2:
                    System.out.print("该生的成绩绩点是:  4\n");
                    break;
                case 3:
                    System.out.print("该生的成绩绩点是:  3\n");
                    break;
                case 4:
                    System.out.print("该生的成绩绩点是: 2\n");
                    break;
                case 5:
                    System.out.print("该生的成绩绩点是: 1\n");
                    break;
            }

          }

    }
}


여기에 사진 설명 삽입

절차 2 :

package com;

import javax.swing.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.HashMap;

public class Swing01 extends JFrame implements ActionListener {
    
    


//    public class OptionPaneDemo extends JFrame implements ActionListener {
    
    
        private JPanel p;
        private JButton btnInput, btnMsg, btnConfirm, btnOption;
        private JTextField txtResult;

        public Swing01() {
    
    
            super("标准对话框");
            p = new JPanel();
            btnInput = new JButton("输入");
            btnMsg = new JButton("消息");
            btnConfirm = new JButton("确认");
            btnOption = new JButton("选项");
            txtResult = new JTextField(20);
            // 注册监听
            btnInput.addActionListener(this);
            btnMsg.addActionListener(this);
            btnConfirm.addActionListener(this);
            btnOption.addActionListener(this);

            p.add(btnInput);
            p.add(btnMsg);
            p.add(btnConfirm);
            p.add(btnOption);
            p.add(txtResult);

            this.add(p);
            this.setSize(300, 150);
            this.setLocation(100, 100);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }

        public void actionPerformed(ActionEvent e) {
    
    
            // 获取事件源
            Object source = e.getSource();
            if (source == btnInput) {
    
    
                String strIn = JOptionPane.showInputDialog(btnInput, "请输入姓名:");
                txtResult.setText(strIn);
            }
            if (source == btnMsg) {
    
    
                JOptionPane.showMessageDialog(btnMsg, "这是一个消息对话框", "提示",
                        JOptionPane.INFORMATION_MESSAGE);
            }
            if (source == btnConfirm) {
    
    
                int r = JOptionPane.showConfirmDialog(btnConfirm, "您确定要删除吗?", "删除",
                        JOptionPane.YES_NO_OPTION);
                if (r == JOptionPane.YES_OPTION) {
    
    
                    txtResult.setText("删除!");
                }

            }
            if (source == btnOption) {
    
    
                Object[] options = {
    
     "Red", "Green", "Blue" };
                int sel = JOptionPane.showOptionDialog(btnOption, "选择颜色:", "选择",
                        JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
                        null, options, options[0]);
                if (sel != JOptionPane.CLOSED_OPTION) {
    
    
                    txtResult.setText("颜色: " + options[sel]);
                }
            }
        }

        public static void main(String[] args) {
    
    
            Swing01 f = new Swing01();
            f.setVisible(true);
        }
    }




여기에 사진 설명 삽입

절차 3 :

package com;


import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.JLabel;
import java.awt.Font;

public class index extends JFrame {
    
    
    private JTextField textField;
    public index() {
    
    
        getContentPane().setLayout(null);

        textField = new JTextField();
        textField.setFont(new Font("宋体", Font.PLAIN, 15));
        textField.setText("登录成功");
        textField.setHorizontalAlignment(SwingConstants.CENTER);
        textField.setBounds(123, 62, 172, 70);
        getContentPane().add(textField);
        textField.setColumns(10);

        JLabel lblNewLabel = new JLabel("恭喜您");
        lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 20));
        lblNewLabel.setBounds(181, 161, 114, 27);
        getContentPane().add(lblNewLabel);
    }
}
package com;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import javax.swing.JTextPane;
import javax.swing.JProgressBar;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;

import java.awt.Color;
import java.awt.Dialog.ModalExclusionType;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import javax.swing.JLabel;
public class mainWindow {
    
    
    private JFrame frame,f2;
    private JTextField acc;
    private JTextField psw;
    public static void main(String[] args) {
    
    
        EventQueue.invokeLater(new Runnable() {
    
    
            public void run() {
    
    
                try {
    
    
                    mainWindow window = new mainWindow();
                    window.frame.setVisible(true);
                } catch (Exception e) {
    
    
                    e.printStackTrace();
                }
            }
        });
    }
    public mainWindow() {
    
    
        initialize();
    }
    private void initialize() {
    
    
        frame = new JFrame();
        f2= new index();
        f2.setVisible(false);
        f2.setSize(500,300);
        frame.setTitle("请验证用户名和密码");
        frame.getContentPane().setFont(new Font("宋体", Font.PLAIN, 15));
        frame.getContentPane().setLayout(null);
        frame.setSize(500,300);

        acc = new JTextField();
        acc.setBackground(Color.WHITE);
        acc.setBounds(135, 37, 222, 32);
        frame.getContentPane().add(acc);
        acc.setColumns(10);

        JLabel lblNewLabel = new JLabel("用户名");
        lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 15));
        lblNewLabel.setBounds(67, 41, 58, 23);
        frame.getContentPane().add(lblNewLabel);

        JLabel lblNewLabel_1 = new JLabel("密码");
        lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 15));
        lblNewLabel_1.setBounds(67, 107, 58, 23);
        frame.getContentPane().add(lblNewLabel_1);

        JButton btnNewButton = new JButton("确认");
        btnNewButton.setFont(new Font("宋体", Font.PLAIN, 16));
        btnNewButton.setBounds(79, 168, 97, 38);
        frame.getContentPane().add(btnNewButton);
        btnNewButton.addActionListener(new ActionListener() {
    
    
            public void actionPerformed(ActionEvent e) {
    
    
                // TODO Auto-generated method stub
                check();
            }
        });
        JButton btnNewButton_1 = new JButton("取消");
        btnNewButton_1.setFont(new Font("宋体", Font.PLAIN, 16));
        btnNewButton_1.setBounds(274, 168, 97, 38);
        frame.getContentPane().add(btnNewButton_1);

        psw = new JTextField();
        psw.setBounds(135, 103, 222, 32);
        frame.getContentPane().add(psw);
        psw.setColumns(10);
    }
    public void check() {
    
    
        if(psw.getText().equals("123456")&&acc.getText().equals("root")) {
    
    
            //JOptionPane.showMessageDialog(null, "登录成功!");
            f2.setVisible(true);
            frame.setVisible(false);

        }
        else if (psw.getText().trim().length() == 0 || new String(acc.getText()).trim().length() == 0) {
    
    
            JOptionPane.showMessageDialog(null, "用户名或密码不能为空!");
        }
        else {
    
    
            JOptionPane.showMessageDialog(null, "登录失败(用户名或密码错误)!");
        }
    }
}

여기에 사진 설명 삽입
여기에 사진 설명 삽입

실험적 경험 :

1. 프로그램 작성을위한 좋은 들여 쓰기 및 주석 습관이 있어야합니다. 그렇지 않으면 다른 사람이 자신의 코드를 읽는 것이 편리하지 않으며 나중에 자신의 코드를 검토하고 통합하는 것도 편리하지 않습니다.
2. 패키지 도입 및 관리에주의하며 해당 클래스 및 패키지가 도입되지 않아 오류가보고되는 경우가 많습니다.
3. 상속 및 객체 지향 프로그래밍 방법의 경우이 프로그래밍 방법에 익숙해지기 위해 열심히 연습 할 필요가 있습니다.
4. 처음부터 그래픽 인터페이스의 레이아웃 형식을 생각하고 나중에 변경하지 마십시오. 조정하기가 더 어려워지고 불필요한 문제가 발생합니다.

요약하자면 :

그래픽 인터페이스를 작성하기위한 Java의 기본 기술과 레이아웃에 대한 기본 지식을 배웠으며 스윙 및 AWT 사용에 대해 더 깊이 이해했습니다. 동시에 Java 객체 지향 프로그래밍에 대한 친숙 함과 이해도를 높였습니다. 또한 전체 자바 생태계의 광대 함과 프로그래밍의 편리함을 느꼈고, 저 자신의 학습에 대해 더 많은 지식을 가지고 있고, 아직 제가 모르는 더 많은 알려지지 않은 기술 분야를 탐구해야합니다.

추천

출처blog.csdn.net/david2000999/article/details/115129552