首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序中输入错误的原因

程序中输入错误的原因
EN

Stack Overflow用户
提问于 2013-06-25 13:39:04
回答 1查看 102关注 0票数 0

这是我的程序:

子类:

代码语言:javascript
复制
import javax.swing.JOptionPane;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
import java.util.Scanner;

public class abc extends JPanel {

    public void paintComponent(Graphics g) {
        Scanner input = new Scanner(System.in);
        super.paintComponent(g);

        this.setBackground(Color.WHITE);
        int a, b;
        System.out.print("input a: ");
        a = input.nextInt();
        a = b;
        g.setColor(Color.BLUE);
        g.fillOval(150, 40, a, b);
    }
}

主类:

代码语言:javascript
复制
import java.awt.Color;
import javax.swing.JFrame;

public class abcd {

    public static void main(String args[]) {
        JFrame frame = new JFrame("Draw");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        abc panel = new abc();
        panel.setBackground(Color.WHITE);
        frame.add(panel);
        frame.setSize(400, 200);
        frame.setVisible(true);
    }
}

输出总是重复的;我必须输入3-4次。我用和main类来做这个。请帮助解决这个问题,并解释为什么它会重复?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-25 16:27:11

我注意到你的代码中有一些东西可能会导致这个问题:

代码语言:javascript
复制
public class abc extends JPanel{
public void paintComponent(Graphics g){
Scanner input=new Scanner(System.in);
super.paintComponent(g);

this.setBackground(Color.WHITE);
int a,b;
System.out.print("input a: ");
a=input.nextInt();

a=b;shouldn't this be b=a , maybe you did it by mistake?

代码语言:javascript
复制
g.setColor(Color.BLUE);
g.fillOval(150,40,a,b);

}

其次,为什么面板要绘制两次,第一次是在abcd类中,第二次是在abc类中?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17289916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档