java 矩形 生成_java-如何在矩形中创建矩形?

这篇博客介绍了如何在Java中使用Graphics2D类的stroke方法来创建具有不同宽度边框的矩形。通过设置不同的BasicStroke对象,可以在同一矩形上绘制3个层次的边框,颜色分别为红色、黄色和橙色,边框宽度分别为10、6和2像素。示例代码展示了如何在Swing组件的paintComponent方法中实现这一效果。
摘要由CSDN通过智能技术生成

g2d.setStroke(new BasicStroke(6));

传递给Swing组件的paintComponent(Graphics)方法的参数实际上应该是Graphics2D实例.可以将其转换为1.

请参见此示例,其中分层了3个笔触.

import javax.swing.*;

import java.awt.*;

class StrokeIt {

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

StrokePanel sp = new StrokePanel();

sp.setPreferredSize(new Dimension(400,100));

sp.setBackground(Color.BLUE);

JOptionPane.showMessageDialog(null, sp);

}

});

}

}

class StrokePanel extends JPanel {

int pad = 12;

public void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2d = (Graphics2D)g;

g2d.setColor(Color.RED);

g2d.setStroke(new BasicStroke(10));

g2d.drawRect( 0+pad, 0+pad,

getWidth()-(2*pad), getHeight()-(2*pad) );

g2d.setColor(Color.YELLOW);

g2d.setStroke(new BasicStroke(6));

g2d.drawRect( 0+pad, 0+pad,

getWidth()-(2*pad), getHeight()-(2*pad) );

g2d.setColor(Color.ORANGE);

g2d.setStroke(new BasicStroke(2));

g2d.drawRect( 0+pad, 0+pad,

getWidth()-(2*pad), getHeight()-(2*pad) );

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sure, 我可以回答你的问题。 下面是 Java 生成三角形,圆,矩形的面积和周长的示例代码。 Triangle.java: ```java public class Triangle { private double base; private double height; private double side1; private double side2; private double side3; public Triangle(double base, double height, double side1, double side2, double side3) { this.base = base; this.height = height; this.side1 = side1; this.side2 = side2; this.side3 = side3; } public double getArea() { return 0.5 * base * height; } public double getPerimeter() { return side1 + side2 + side3; } } ``` Circle.java: ```java public class Circle { private double radius; public Circle(double radius) { this.radius = radius; } public double getArea() { return Math.PI * radius * radius; } public double getPerimeter() { return 2 * Math.PI * radius; } } ``` Rectangle.java: ```java public class Rectangle { private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } public double getArea() { return width * height; } public double getPerimeter() { return 2 * (width + height); } } ``` 你可以在你的应用程序创建这些类的实例,然后使用它们的方法来获取它们的面积和周长,如下所示: ```java Triangle triangle = new Triangle(3, 4, 5, 4, 3); double triangleArea = triangle.getArea(); double trianglePerimeter = triangle.getPerimeter(); Circle circle = new Circle(2); double circleArea = circle.getArea(); double circlePerimeter = circle.getPerimeter(); Rectangle rectangle = new Rectangle(6, 9); double rectangleArea = rectangle.getArea(); double rectanglePerimeter = rectangle.getPerimeter(); ``` Hope that helps!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值