用Java绘制图形

这篇博客详细介绍了如何使用Java编程语言来绘制不同的图形,包括三角形、正方形、长方形、金字塔和菱形,并且每个图形都有对应的截图展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三角形:

package 软件工程项目1;

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Triangle extends JFrame implements ActionListener{
   
	JTextField text1,text2;
	JLabel label1,label2;
	JPanel panel1,panel2;
	JButton bt1;
	JTextArea area;
	Font f;
	public Triangle() {
   
		init();
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 500,500);
	}
	void init() {
   
		f=new Font("宋体",Font.BOLD,16);
		setLayout(new FlowLayout());
		label1=new JLabel("三角形的底长:");
		label2=new JLabel("三角形的厚度:");
		text1=new JTextField(5);
		text2=new JTextField(5);
		panel1=new JPanel();
		panel2=new JPanel();
		area=new JTextArea(20,30);
		bt1=new JButton("确定");
		add(label1);
		add(text1);
		add(panel1);
		add(label2);
		add(text2);
		add(panel2);
		add(bt1);
		add(new JScrollPane(area));
		panel1.add(label1);
		panel1.add(text1);
		panel2.add(label2);
		panel2.add(text2);
		bt1.addActionListener(this);
	}
	@Override
	public void actionPerformed(ActionEvent e) {
   		
		String height1=text1.getText();
		String thickness1=text2.getText();
		int i=0,j=0;
		area.setFont(f);
		if(height1.equals("")||thickness1.equals("")||(Integer.parseInt(height1)<Integer.parseInt(thickness1)))
			{
   
				area.append("输入数字有误,请重新输入!");
				text2.setText("");
			}
		else {
   			
			area.setText("");
			int layer=Integer.parseInt(text1.getText().trim());
			int thickness=Integer.parseInt(text2.getText().trim());
			for(i=layer;i>=1;i--)
			{
   
				if(i<=thickness)
				{
   
					for(j=1;j<=thickness;j++) 
						area.append("#");
				}
				else if(i>layer-thickness){
   
					for(j=1;j<=i;j++)
						area.append("#");
				}
				else{
   
					for(j=1;j<=i;j++)
					{
   
						if(j<thickness+1)
							area.append("#");
						else if(j>i-thickness)
							area.append("#");
						else
							area.append(" ");
					}
				}
				area.append("\n");	
			}		
		
		}
	}
	public static void main(String[] args) {
   
		new Triangle();
	}

}

**

截图

在这里插入图片描述
在这里插入图片描述
**
**

正方形:

package 软件工程项目1;

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Square extends JFrame implements ActionListener{
   
	JTextField text1,text2;
	JLabel label1,label2;
	JPanel panel1,panel2;
	JTextArea area
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值