微微微love笑 2017-05-19 01:44 采纳率: 0%
浏览 1455

Java GUI 一个按钮画直线,一个按钮画椭圆,怎么不行啊??

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

class Board extends JFrame implements ActionListener
{
int x1,x2,y1,y2;
Container cp = getContentPane();

JPanel pa = new JPanel();
JButton but1 = new JButton("直线");
JButton but2 = new JButton("空心椭圆");

public Board()
{
    super("画板");
    setBounds(400, 20, 500, 500);
    cp.setLayout(new FlowLayout()); 
    pa.add(but1);
    pa.add(but2);
    cp.add(pa);

    but1.addActionListener(this);
//  but1.setActionCommand("直线");
    but2.addActionListener(this);
//  but2.setActionCommand("空心椭圆");

    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible(true);
}

public void actionPerformed(ActionEvent e)
{
    if (e.getSource() == but1)
    {
        System.out.println("fj");

        cp.addMouseListener(new MouseAdapter()
        {
            public void mousePressed(MouseEvent e)
            {
                x1=e.getX();
                y1=e.getY();
            }
            public void mouseReleased(MouseEvent e)
            {
                x2=e.getX();
                y2=e.getY();
                Graphics g = getGraphics();
                g.drawLine(x1, y1, x2, y2);
                //g.drawRect(x1, y1, Math.abs(x2-x1),Math.abs(y2-y1));
            }

        });

    } else
    {
        System.out.println("jfjf");
        cp.addMouseListener(new MouseAdapter()
        {
            public void mousePressed(MouseEvent e)
            {
                x1=e.getX();
                y1=e.getY();
            }
            public void mouseReleased(MouseEvent e)
            {
                x2=e.getX();
                y2=e.getY();
                Graphics g = getGraphics();
                //g.drawLine(x1, y1, x2, y2);
                g.drawRect(x1, y1, Math.abs(x2-x1),Math.abs(y2-y1));
            }

        });
    //  g.drawRect(x1, y1, Math.abs(x2-x1),Math.abs(y2-y1));
    }
}

}

public class Text
{
public static void main(String[] args)
{
new Board();
}
}

  • 写回答

3条回答 默认 最新

  • 微微微love笑 2017-05-19 05:52
    关注

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境