java创建画板_java画板的设计和创建

首先创建一个画板类继承容器类,这样可以在画板类中重写容器的paint方法。

public class DrawFrame extends JPanel

再创建一个类写监听器的程序,以及一个类来写画板的内容对象参数保存的方法(可以在最小化以及伸缩窗口的时候使画面内容得到恢复)

public class DrawMouse implements MouseListener, ActionListener,MouseMotionListener

public class Shape

我们可以看到我们会用到鼠标监听器,动作监听器,以及鼠标动作监听器。

我们先简单地介绍一下他们的作用:

1.鼠标监听器可以对于点击,按下,释放等事件做出响应,响应具体内容由程序员自己定义,发生相应的行为时即会触发对应方法,由此可见,监听器的作用很大,可以实现无限的可能。

2.动作监听器我们目前用于响应对按钮的点击事件,读取按钮上的名称或者颜色信息来实现相应的方法。

3鼠标动作监听器可以实现对鼠标进入界面,离开界面,界面内拖拽等功能的实现,极大丰富了界面特殊功能的实现。

接下来进入主程序,主程序很简单,只是一个窗体构造方法的调用。

public static voidmain(String[] args) {

DrawFrame frame = newDrawFrame();

frame.showUI();

}

javax.swing.JFrame jf = newjavax.swing.JFrame();

jf.setSize(800, 800);

jf.getContentPane().setBackground(Color.WHITE);//设置背景色

jf.setTitle("画板1.0");

jf.setDefaultCloseOperation(3);

// 设置居中显示

jf.setLocationRelativeTo(null)

DrawMouse mouse = newDrawMouse();

jf.setLayout(newBorderLayout());

JPanel jp1= newJPanel();

jp1.setBackground(Color.green);

jf.add(jp1,BorderLayout.NORTH);

在showUI里先是对一些基本组件的添加和创建,这里就不再一一赘述。值得一提的是其中容器的添加以及边框布局的规则。jf就是一个巨大的容器对象,一般来说,如果我们不定义流式布局,便会默认边框布局。边框布局可以把区域划分为5个部分,north,south,center,east,west。我们把按钮放在了上方,把画板主题部分放在中间,这样两个区域便互不干扰,是两个独立的容器。这些对象的父类便是JPanel类。

this.setBackground(Color.WHITE);

jf.add(this, BorderLayout.CENTER);

使用this即可调用,默认以容器类来创建对象(容器可以创建多个对象)。

String[] shape ={"直线","矩形","三角形","椭圆","任意边形","曲线","橡皮擦","迭代图像","递归"};

for(int i=0;i

JButton jbu = newJButton(shape[i]);

jp1.add(jbu);

jbu.addActionListener(mouse);

}

Color[] color ={Color.RED,Color.BLUE,Color.BLACK};

for(int i=0;i

JButton jbu = newJButton();

jbu.setBackground(color[i]);

jbu.setPreferredSize(new Dimension(30, 30));

jp1.add(jbu);

jbu.addActionListener(mouse);

}

循环创建按钮可以在多按钮需求的时候剩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值