Java学习——107、圆、矩形

上篇中,帖了Choose类,此类中包含有一个Toppane的对象,即本篇所帖上来的。

之所以要把Toppane单出来成一个类,原因是如果将这所有代码都放在Chooser类中,我会觉得那个类里面代码太多,看起来好像不太友好。

3、Toppane类

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

public class Toppane implements ActionListener{

private JComboBox type;

private JRadioButton yes_fill;

private JButton color_button,back_button;

private Color c;

private Color backc;

private Tu_canvas vas;

public JComboBox init_type(){

String s[]={"圆","矩形"};

type=new JComboBox();

for(int i=0;i<s.length;i++){

type.addItem(s[i]);

}

type.addActionListener(this);

return type;

}

public JRadioButton init_fill(){

yes_fill=new JRadioButton("填充");

return yes_fill;

}

public JButton init_button(){

color_button=new JButton("前景色");

color_button.addActionListener(this);

returncolor_button;

}

public JButton init_backbutton(){

back_button=new JButton("背景色");

back_button.addActionListener(this);

returnback_button;

}

public Tu_canvas set_vas(Tu_canvas vas){

this.vas=vas;

return vas;

}

public Color get_backcolor(){

returnbackc;

}

public Color get_color(){

returnc;

}

publicint get_type(){

if(type.getSelectedIndex()==0)

return 0;

else if(type.getSelectedIndex()==1)

return 1;

else

return 1;

}

public int get_fill(){

if(yes_fill.isSelected()==true)

return 1;

else

return 0;

}

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generatedmethod stub

if(e.getSource()==color_button)

{

c=JColorChooser.showDialog(color_button,"颜色选择", Color.cyan);

vas.set_color(c);

}

if(e.getSource()==back_button){

backc=JColorChooser.showDialog(color_button,"颜色选择", Color.red);

vas.setBackground(backc);

vas.repaint();

}

vas.set_fill(this.get_fill());

vas.set_type(this.get_type());

vas.repaint();

}

}

(0)

相关推荐

  • MP(MyBatis-Plus)的自动填充功能

    什么是自动填充 有些表中会有更新时间.创建时间.更新人或者创建人这些字段. 每次对数据进行新增.删除.修改时都需要对这些字段进行设置.传统的做法是在进行这些操作前,对Entity的字段进行set设置, ...

  • java学习——106.圆和矩形

    本篇及接下来几篇,都是介绍一个小小的程序,其运行结果如下图所示: 通过选择,可决定画的图形及图形的部分属性. 如: 本例总共包含四个类. 1.第一个类,包含着main方法,程序从此处开始运行 . pu ...

  • java学习——105.空心圆和实心圆

    学习Java还是挺有意思的,但是花的时间也太长了点,代码的调试也好费劲啊. 努力努力吧!!! 来个动图感受一下本篇的运行结果. 通过上方的选择,来决定画的是空心圆还是实心圆,半径由文本框输入,颜色也可 ...

  • Java学习-注解和反射

    注解 java.Annotation Annotation的作用:可以呗其他程序读取 Annotation的格式 注解是:@注释名 在代码中存在,还可以添加一些参数 ​@SuppressWarning ...

  • Java学习-多线程

    多线程 任务(Task).进程(Process).线程(Thread) 进程的创建 1.继承Thread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用sta ...

  • Java学习-Mybatis

    Mybatis Maven依赖: <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependenc ...

  • Java 学习笔记

    您对计算机(电脑)有了解吗? 计算机组成 系统软件 直接和硬件交互的软件叫系统软件,例如 win7.win8.Linux.mac等操作系统 应用软件 通常在运行在系统软件上,也就是在系统软件上开发的软 ...

  • Java学习-126.2048代码

    本篇帖的是按钮的代码. 因为按钮比较多,包括菜单项的动作,为了区分,我用了两个内部类来实现这两部分代码. //本类是Game_2048类的内部类,用来实现上.下.左.右四个按钮,以及重新开始和退出游戏 ...

  • Java学习—125.2048代码

    本篇帖的是部分动作代码. 每个方法前都有注释说明本方法的功能. //随机选取一个位置,并填入数字2.如果此位置中已有数字,那么换一个位置. public void rule(){ x=ran.next ...

  • Java学习—124.2048代码

    游戏的主界面的代码在类game_2048中. 本类主要包括两个方面: 一是布局. 二是动作,按钮的动作. 其中,动作又有菜单动作,按钮动作.而按钮动作又有多方面,在下一篇的代码中会有注释说明. 本篇帖 ...