我需要绘制一个具有给定厚度的环,看起来像这样:
中心必须是透明的,这样它就不会覆盖以前绘制的形状.(或其他戒指)我尝试过这样的事情:
//g is a Graphics2D object
g.setColor(Color.RED);
g.drawOval(x,y,width,height);
g.setColor(Color.WHITE);
g.drawOval(x+thickness,y+thickness,width-2*thickness,height-2*thickness);
Run Code Online (Sandbox Code Playgroud)
它绘制了一个令人满意的戒指,但它涵盖了其他形状; 内部是白色的,不透明.如何修改/重写我的代码,以便它不会这样做?
我目前正在运行Java教程,现在专注于包和受保护的变量.我应该编译一个示例,显示使用多个包时代码的工作方式.出于某种原因,我完全无法获得编译代码.我甚至试过从教程中复制粘贴演示代码,甚至不能编译.我自己的代码和教程代码抛出:
java 23: error: class, interface, or enum expected
package bookpackext;
^
1 error
Run Code Online (Sandbox Code Playgroud)
谁能够看到这里有什么问题?我一直在环顾四周,每个发布过相同错误的人都被告知要仔细查看curlies和方法,我不能因为我的生活在这里看到任何错误.
提前致谢!我自己的代码如下:
package bookpack;
public class Book {
protected String title;
protected String author;
protected int pubDate;
public Book(String t, String a, int d) {
title = t;
author = a;
pubDate = d;
}
public void show() {
System.out.println();
System.out.println(title);
System.out.println(author);
System.out.println(pubDate);
System.out.println();
}
}
package bookpackext;
class ExtBook extends bookpack.Book {
private String publisher;
public ExtBook(String t, String a, int d, String p) { …Run Code Online (Sandbox Code Playgroud)