⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frame1.java

📁 常见函数绘图 正余弦
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package untitled2;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JRadioButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import javax.swing.border.MatteBorder;
import javax.swing.border.Border;
import javax.swing.BorderFactory;
import javax.swing.JTextField;
import java.lang.Math;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.ButtonGroup;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Frame1 extends JFrame {
    JPanel contentPane;
    XYLayout xYLayout1 = new XYLayout();
    JLabel jLabecos = new JLabel();
    JLabel jLabelsin = new JLabel();
    JLabel jLabelexp = new JLabel();
    JLabel jLabelln = new JLabel();
    JLabel jLabelxn = new JLabel();
    JLabel jLabelseg = new JLabel();
    JRadioButton jRadioButtonsin = new JRadioButton();
    JRadioButton jRadioButtoncos = new JRadioButton();
    JRadioButton jRadioButtonxn = new JRadioButton();
    JRadioButton jRadioButtonexp = new JRadioButton();
    JRadioButton jRadioButtonln = new JRadioButton();
    JRadioButton jRadioButtonfour = new JRadioButton();
    JPanel jPanel1 = new JPanel();
    JLabel jLabelfour = new JLabel();
    Border border1 = new MatteBorder(null);
    JButton jButtondraw = new JButton();
    JTextField jTextFieldaoffour = new JTextField();
    JLabel jLabelaoffour = new JLabel();
    JRadioButton jRadioButtonminus = new JRadioButton();
    JRadioButton jRadioButtonmultiple = new JRadioButton();
    JRadioButton jRadioButtonplus = new JRadioButton();
    JRadioButton jRadioButtondivide = new JRadioButton();
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JTextField jTextFieldnullpoint = new JTextField();
    JTextField jTextField1 = new JTextField();
    JLabel jLabelawtofcos = new JLabel();
    JTextField jTextFieldawtofcos = new JTextField();
    JLabel jLabelawtofsin = new JLabel();
    JTextField jTextFieldawtofsin = new JTextField();
    JLabel jLabelaofexpa = new JLabel();
    JTextField jTextFieldaofexpa = new JTextField();
    JLabel jLabelaofexpx = new JLabel();
    JTextField jTextFieldaofexpx = new JTextField();
    JLabel jLabelaoflog = new JLabel();
    JTextField jTextFieldaoflog = new JTextField();

    XYLayout xYLayout2 = new XYLayout();
    ButtonGroup buttonGroup1 = new ButtonGroup();
    ButtonGroup buttonGroup2 = new ButtonGroup();

    public Frame1() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        border1 = BorderFactory.createLineBorder(Color.white, 2);
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(xYLayout2);
        setSize(new Dimension(675, 650));
        setTitle("Frame1");
        jLabecos.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabecos.setText("余弦函数 y=acos(wx+t)");
        jLabelsin.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelsin.setText("正弦函数y=asin(wx+t)");
        jLabelexp.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelexp.setText("指数函数y=(a)expx");
        jLabelln.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelln.setText("对数函数y=logaX");
        jLabelxn.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelxn.setText("幂函数y=(x)expa");
        jLabelseg.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelseg.setText("分段函数");
        jRadioButtonsin.setText("正弦");
        jRadioButtoncos.setText("余弦");
        jRadioButtonxn.setText("幂函数");
        jRadioButtonfour.setText("四则运算");
        jRadioButtonexp.setText("指数");
        jRadioButtonln.setText("对数");
        jLabelfour.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelfour.setText("四则运算");
        jPanel1.setBackground(Color.white);
        jPanel1.setBorder(null);
        jButtondraw.setFont(new java.awt.Font("Viner Hand ITC", Font.PLAIN, 18));
        jButtondraw.setText("draw");
        jButtondraw.addMouseListener(new Frame1_jButtondraw_mouseAdapter(this));
        jLabelaoffour.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 18));
        jLabelaoffour.setText("a=");
        jRadioButtonminus.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jRadioButtonminus.setText("y=x-a");
        jRadioButtonmultiple.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jRadioButtonmultiple.setText("y=ax");
        jRadioButtonplus.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jRadioButtonplus.setText("y=x+a");
        jRadioButtondivide.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jRadioButtondivide.setText("y=x/a");
        jLabel1.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabel1.setText("分段点x轴坐标");
        jLabel2.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabel2.setText("分段区间");
        jLabelawtofcos.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelawtofcos.setText("请给出a,w,t");
        jLabelawtofsin.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelawtofsin.setText("请给出a, w, t");
        jLabelaofexpa.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelaofexpa.setText("a=");
        jLabelaofexpx.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelaofexpx.setText("a=");
        jLabelaoflog.setFont(new java.awt.Font("华文新魏", Font.PLAIN, 15));
        jLabelaoflog.setText("a=");
        contentPane.add(jLabecos, new XYConstraints(4, 4, -1, 23));
        contentPane.add(jLabelsin, new XYConstraints(4, 94, 157, 24));
        contentPane.add(jLabelexp, new XYConstraints(4, 275, 157, 24));
        contentPane.add(jLabelxn, new XYConstraints(4, 188, 157, 24));
        contentPane.add(jLabel2, new XYConstraints(4, 578, -1, -1));
        contentPane.add(jButtondraw, new XYConstraints(585, 554, -1, -1));
        contentPane.add(jRadioButtonminus, new XYConstraints(328, 558, -1, -1));
        contentPane.add(jLabelfour, new XYConstraints(217, 499, -1, -1));
        contentPane.add(jLabelaoffour, new XYConstraints(237, 537, -1, -1));
        contentPane.add(jTextFieldaoffour, new XYConstraints(264, 534, 38, 28));
        contentPane.add(jRadioButtonmultiple,
                        new XYConstraints(328, 520, 67, -1));
        contentPane.add(jRadioButtondivide, new XYConstraints(432, 520, -1, -1));
        contentPane.add(jRadioButtonplus, new XYConstraints(432, 558, -1, -1));
        contentPane.add(jLabel1, new XYConstraints(4, 550, -1, -1));
        contentPane.add(jLabelawtofcos, new XYConstraints(35, 30, 109, 30));
        contentPane.add(jTextFieldawtofcos, new XYConstraints(35, 63, 109, 29));
        contentPane.add(jLabelawtofsin, new XYConstraints(35, 121, 108, 31));
        contentPane.add(jLabelaofexpa, new XYConstraints(12, 233, 31, 36));
        contentPane.add(jLabelaofexpx, new XYConstraints(12, 311, 29, 41));
        contentPane.add(jTextFieldawtofsin, new XYConstraints(35, 154, 107, 30));
        contentPane.add(jTextFieldaofexpa, new XYConstraints(44, 231, 98, 35));
        contentPane.add(jLabelln, new XYConstraints(4, 363, 156, 23));
        contentPane.add(jLabelaoflog, new XYConstraints(12, 396, 29, 38));
        contentPane.add(jTextFieldaoflog, new XYConstraints(44, 393, 98, 32));
        contentPane.add(jLabelseg, new XYConstraints(4, 442, -1, -1));
        contentPane.add(jRadioButtoncos, new XYConstraints(4, 468, -1, -1));
        contentPane.add(jRadioButtonsin, new XYConstraints(63, 468, -1, -1));
        contentPane.add(jRadioButtonexp, new XYConstraints(63, 494, -1, -1));
        contentPane.add(jRadioButtonfour, new XYConstraints(63, 516, -1, -1));
        contentPane.add(jRadioButtonln, new XYConstraints(4, 493, -1, -1));
        contentPane.add(jRadioButtonxn, new XYConstraints(4, 516, -1, -1));
        contentPane.add(jTextFieldaofexpx, new XYConstraints(44, 313, 98, 34));
        contentPane.add(jTextFieldnullpoint, new XYConstraints(108, 546, 77, 24));
        contentPane.add(jPanel1, new XYConstraints(171, 15, 490, 480));
        jTextFieldawtofcos.setText("A,W,T");
        jTextFieldawtofsin.setText("A,W,T");
        buttonGroup1.add(jRadioButtoncos);
        buttonGroup1.add(jRadioButtonsin);
        buttonGroup1.add(jRadioButtonln);
        buttonGroup1.add(jRadioButtonexp);
        buttonGroup1.add(jRadioButtonxn);
        buttonGroup1.add(jRadioButtonfour);
        buttonGroup2.add(jRadioButtonplus);
        buttonGroup2.add(jRadioButtonminus);
        buttonGroup2.add(jRadioButtondivide);
        buttonGroup2.add(jRadioButtonmultiple);
        contentPane.add(jTextField1, new XYConstraints(66, 572, 119, 24));
    }




     void draw(){
         Graphics g = this.jPanel1.getGraphics();
         //擦掉上一张图
         g.setColor(Color.white);
         g.fillRect(0, 0, 490, 480);
     //改为黑色画笔
         g.setColor(Color.black);
     //画坐标轴
         g.drawLine(0, 240, 490, 240);
         g.drawLine(245, 0, 245, 480);
         g.drawLine(490, 240, 485, 237);
         g.drawLine(490, 240, 485, 243);
         g.drawLine(245, 0, 242, 5);
         g.drawLine(245, 0, 248, 5);

     //得到参数输入情况
         String aofexpa = jTextFieldaofexpa.getText();
         String awtofcos = jTextFieldawtofcos.getText();
         String awtofsin = jTextFieldawtofsin.getText();
         String aofexpx = jTextFieldaofexpx.getText();
         String aoflog = jTextFieldaoflog.getText();
         String aoffour = jTextFieldaoffour.getText();
         String X = jTextFieldnullpoint.getText();
         String aXb = jTextField1.getText();
     //判断函数
     if (!(X.compareTo("") == 0) || !(aXb.compareTo("") == 0)) {
             int firstcomaofaXb = aXb.indexOf(",");
             String X1 = aXb.substring(1, firstcomaofaXb);
             String X2 = aXb.substring(firstcomaofaXb + 1, aXb.length());
             drawseg(X, X1, X2);
         } else {

         if (!(awtofcos.compareTo("") == 0) && !(awtofcos.compareTo("A,W,T") == 0)) {
             int firstcomaofcos = awtofcos.indexOf(",");
             int secondcomaofcos = awtofcos.indexOf(",", firstcomaofcos + 1);
             String Aofcos = awtofcos.substring(0, firstcomaofcos);
             String Wofcos = awtofcos.substring(firstcomaofcos + 1, secondcomaofcos);
             String Tofcos = awtofcos.substring(secondcomaofcos + 1);
             //若cos的参数没有全部给出,仍然不画图
             if (!(Aofcos.compareTo("") == 0) && !(Wofcos.compareTo("") == 0) &&
                 !(Tofcos.compareTo("") == 0)) {
                 drawcos(Aofcos, Wofcos, Tofcos);
             } else {}
         }

         else {
             if (!(awtofsin.compareTo("") == 0) &&
                 !(awtofsin.compareTo("A,W,T") == 0)) {
                 int firstcomaofsin = awtofsin.indexOf(",");
                 int secondcomaofsin = awtofsin.indexOf(",", firstcomaofsin + 1);
                 String Aofsin = awtofsin.substring(0, firstcomaofsin);
                 String Wofsin = awtofsin.substring(firstcomaofsin + 1,
                                                    secondcomaofsin);
                 String Tofsin = awtofsin.substring(secondcomaofsin + 1);
                 if (!(Aofsin.compareTo("") == 0) && !(Wofsin.compareTo("") == 0) &&
                     !(Tofsin.compareTo("") == 0)) {
                     drawsin(Aofsin, Wofsin, Tofsin);
                 } else {}
             } else {
                 if (!(aofexpa.compareTo("") == 0)) {
                     drawexpa(aofexpa);
                 } else {
                     if (!(aofexpx.compareTo("") == 0)) {
                         drawexpx(aofexpx);
                     } else {
                         if (!(aoflog.compareTo("") == 0)) {
                             drawlog(aoflog);
                         } else {
                             if (!(aoffour.compareTo("") == 0)) {
                                 drawfour(aoffour);
                             }
                         }
                     }
                 }
             }
         }
         }
     }


    public void jButtondraw_mousePressed(MouseEvent e) {
        draw();

    }
    void drawcos (String A, String W, String T){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -