java图形界面曲线图_JAVA程序设计(15.2)----- 图形用户界面GUI 制作正玄曲线图

这篇博客展示了如何使用JAVA的图形用户界面GUI来绘制正弦曲线。通过设置界面布局,添加组件,并利用Graphics接口绘制曲线,实现了从-2π到2π的正弦函数图形。
摘要由CSDN通过智能技术生成

主要是练习界面设置 界面布局 添加组件 设置组件 接口

算出正弦曲线的横纵坐标然后一点一点连接 画出整个图形

package com.lovo.homework2;

import java.awt.Font;

import java.awt.Graphics;

import javax.swing.JFrame;

import javax.swing.JLabel;

/**

* 类:界面上画出正玄曲线

* @author Abe

*

*/

@SuppressWarnings("serial")

public class SineCurve extends JFrame {

private double x;

private double y;

private double x1;

private double y1;

private int[] x2 = new int[1440];

private int[] y2 = new int[1440];

private JLabel[] lbl = new JLabel[5];

public SineCurve() {

this.setTitle("正玄曲线图");

this.setSize(600, 400);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setResizable(false);

this.setLocationRelativeTo(null);

this.setLayout(null);

lbl[0] = new JLabel("-2π");

lbl[1] = new JLabel("0");

lbl[2] = new JLabel("2π");

lbl[3] = new JLabel("X");

lbl[4] = new JLabel("Y");

lbl[0].setBounds(100, 180, 50, 30);

lbl[1].setBounds(280, 180, 50, 20);

lbl[2].setBounds(457, 180, 50, 20);

lbl[3].setBounds(550, 150, 50, 20);

lbl[4].setBounds(300, 10, 50, 20);

for(int i = 0; i < lbl.length ; i++){

lbl[i].setFont(new Font("Consolas", Font.PLAIN, 25));

this.add(lbl[i]);

}

}

@Override

public void paint(Graphics g) {

super.paint(g);

for (double i = -720; i < 720; i++) {

x = i * Math.PI / 360;

x2[(int) (i + 720)] = (int) (x * 25 + 300);

y = Math.sin(x);

y2[(int) (i + 720)] = (int) (y * 110 + 200);

x1 = (i + 1) * Math.PI / 360;

y1 = Math.sin(x1);

g.drawLine((int) (x * 25 + 300), (int) (y * 70 + 200),

(int) (x1 * 25 + 300), (int) (y1 * 70 + 200));

}// 一点一点的画曲线

g.drawLine(300, 50, 300, 350);// Y轴

g.drawLine(300, 50, 280, 70);

g.drawLine(300, 50, 320, 70);

g.drawLine(50, 200, 550, 200);// X轴

g.drawLine(550, 200, 530, 220);

g.drawLine(550, 200, 530, 180);

g.drawPolyline(x2, y2, 1440);// 画曲线的工具?

}

public static void main(String[] args) {

new SineCurve().setVisible(true);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值