- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class MyDrawPanel extends JPanel {
public void paintComponent(Graphics g){
Graphics2D gd2 = (Graphics2D) g;
GradientPaint gradient = new GradientPaint(70,70,Color.blue,150,150,Color.red);
}
}
为什么这个有效但这个无效:
public class MyDrawPanel extends JPanel {
public void paintComponent(Graphics2D g){
GradientPaint gradient = new GradientPaint(70,70,Color.blue,150,150,Color.red);
g.setPaint(gradient);
g.fillOval(70,70,100,100);
}
}
第一个渲染,但第二个除了框架之外不渲染任何图形。我注意到paintComponent()需要一个Graphics对象,但是如果Graphics2D是Graphics对象的子类,为什么我不能调用Graphics的子类?
是否有一些我没有理解的概念?
最佳答案
它说你应该这样实现它,因为Graphics2D是Graphics,而Graphics不是Graphics2D。
如果您觉得选角令人不安,您可以随时创建自己的例如。 MyJPanel 扩展 JPanel,定义您自己的方法,并在将来对其进行子类化,覆盖您定义的方法。
public class MyJPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
paintComponent((Graphics2D) g);
}
protected void paintComponent(Graphics2D g) {
}
}
关于java - 为什么 PaintComponent 不能接受 Graphics2D 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135982/
我正在创建一个基于 WebView 的 Android 应用程序,使用户能够登录移动运营商。当我运行该应用程序时,WebView 打开网站,但我收到一条消息,指出 WebView 不允许使用 cook
我试图在 3000 毫秒后打开 onMouseOver 的 href。但它只是弹出一个空白窗口。我错过了什么? HTML: My Rec JavaScript: var Popup = null; f
为什么它工作得很好 from pyspark.sql.types import * l=[("foo",83.33)] schema = StructType([ StructField("ty
Go 官方网站 writes as follows : As the Go specification says, the method set of a type T consists of all
public class MyDrawPanel extends JPanel { public void paintComponent(Graphics g){ Graphi
为什么它工作得很好 from pyspark.sql.types import * l=[("foo",83.33)] schema = StructType([ StructField("ty
以下代码应该可以工作,因为 join 接受迭代器作为参数: import static org.apache.commons.lang.StringUtils.join; import java.te
我想知道为什么 Collection.addAll() 方法只接受其他 Collection 而不是 Iterable。这是为什么呢? 对于 Iterables 有什么类似的方法吗? 最佳答案 大概是
如何解决这个问题?如果我用 this 替换它。它在构建器上创建了更多错误。我该如何解决? java类中的所有代码。在这种情况下,功能围绕着 onStartCommand。 public class
我正在尝试为我的应用添加一个添加到愿望 list 的功能,但我一直收到此错误: Exception [EclipseLink-4002] (Eclipse Persistence Services -
我正在做一个文本分类任务。现在我想使用 ensemble.AdaBoostClassifier 和 LinearSVC 作为 base_estimator。但是,当我尝试运行代码时 clf = Ada
/更新:问题细化为:无法打开授权 key 。/ 我在 Virtualbox 中有一个 Ubuntu 服务器,我尝试通过 ssh 登录,但每次询问登录密码时,pubkey 都不起作用。 概要: Vbox
我在尝试连接数据库并从数据库检索数据时遇到此类错误。 executeQuery() 方法不能接受 PreparedStatement 或 CallableStatement 的参数。 我的代码是这样的
我是一名优秀的程序员,十分优秀!