java - 创建一个上面有文字的矩形

标签 java android draw android-drawable drawrect

所以我试图在我的java项目中绘制一个矩形,由于某种原因我收到错误并且应用程序关闭。错误是 03-28 09:05:50.332: E/AndroidRuntime(4611): 致命异常: main 03-28 09:05:50.332:E/AndroidRuntime(4611):进程:com.Tripp.thebasics,PID:4611 03-28 09:05:50.332: E/AndroidRuntime(4611): java.lang.NullPointerException: 尝试在空对象引用上调用虚拟方法“void android.graphics.Paint.setColor(int)”

package com.Tripp.thebasics;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;

public class DrawingView extends View {
    Paint paint;

    public DrawingView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }

    public DrawingView(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    public DrawingView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void onDraw(Canvas canvas){
        super.onDraw(canvas);

        Rect ourRect = new Rect();

        ourRect.set(0,0,canvas.getWidth(),canvas.getHeight()/2 );
        paint.setColor(Color.RED);

        canvas.drawRect(ourRect, paint);
    }

}

这是转到下面该类的按钮

public class JokeOfTheDay extends Activity {

    DrawingView v;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        v = new DrawingView(this);
        setContentView(v);  

    }



}

最佳答案

在尝试使用绘制变量之前,请在构造函数中初始化它。 paint = new Paint();

关于java - 创建一个上面有文字的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29324098/

相关文章:

c++ - 使用 OpenGL 从文本文件绘制图像

java - 从静态上下文引用非静态变量

用于查找二叉树中最大独立节点集的 Java 算法

java - Android onCreateOptionMenu 没有被调用

android - 我如何在android中绘制一个矩形并在其中放置一些文本然后放置它?

java - LibGDX 标签不绘图

java - 一些听众没有开火

java - 如何在 JavaFX 中设置滚动 Pane 的单位增量?

java - 非静态方法 getIntExtra(java.lang.String, int) 无法从静态上下文中引用?

android - 如何使首选项不保存到 SharedPreferences?