java画板_java 画板画图程序
导读热词
下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Board {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Winmain win = new Winmain();
}
}
class Winmain extends JFrame implements ActionListener,MouseMotionListener {// 主窗口
static int pensize,erasersize;// 画笔大小和橡皮大小
static int size;
static Color pencolor;// 画笔颜色
JButton but1,but2,but3,but4;
JPanel panel;
Winmain() {
super("自由画图程序");
this.setSize(250,150);
setBackground(Color.white);// 背景为白色
Container con = getContentPane();
con.setLayout(new BorderLayout());
JPanel pa = new JPanel();
pa.setLayout(new GridLayout(1,4));
but1 = new JButton("画笔");// 快速转换到画笔
but1.addActionListener(this);
pa.add(but1);
but2 = new JButton("橡皮");// 快速转换到橡皮
but2.addActionListener(this);
pa.add(but2);
but3 = new JButton("画笔…");// 打开画笔设置界面
but3.addActionListener(this);
pa.add(but3);
but4 = new JButton("橡皮…");// 打开橡皮设置界面
but4.addActionListener(this);
pa.add(but4);
con.add(pa,"North");
panel = new JPanel();
panel.setBackground(Color.white);// 设置背景为白色
panel.addMouseMotionListener(this);
con.add(panel,"Center");
pencolor = Color.black;// 初始画笔颜色为黑色
pensize = 3;// 初始画笔大小半径为3个像素点
erasersize = 5;// 初始橡皮大小半径为5个像素点
size = 3;
setVisible(true);
pack();
}
public static void setpen(int pensize2,Color pencolor2) {// 与设置画笔界面的接口
pensize = pensize2;
pencolor = pencolor2;
size = pensize;
}
public static void seteraser(int erasersize2) {// 与设置橡皮界面的接口
erasersize = erasersize2;
pencolor = Color.white;
size = erasersize;
}
public void actionPerformed(ActionEvent e1) {
if (e1.getSource() == but1) {
pensize = 3;
size = pensize;
pencolor = Color.black;
} else if (e1.getSource() == but2) {
erasersize = 5;
size = erasersize;
pencolor = Color.white;
} else if (e1.getSource() == but3) {// 打开画笔设置界面
Winpen741 w741 = new Winpen741();
w741.setVisible(true);
} else if (e1.getSource() == but4) {// 打开橡皮设置界面
Wineraser742 w742 = new Wineraser742();
w742.setVisible(true);
}
}
public void mouseDragged(MouseEvent e2) {// 拖动鼠标自由作画
int x,y;
x = e2.getX();
y = e2.getY();
Graphics pen;
pen = getGraphics();
pen.setColor(pencolor);
pen.fillOval(x - size + 7,y - size + 56,2 * size,2 * size);// +7和+56是为了矫正画笔位置
}
public void mouseMoved(MouseEvent e3) {
}
}
class Winpen741 extends JFrame implements ActionListener {// 设置画笔界面
JButton but,but1,but4,but5,but6;
JTextField tf;
Color c;
int pensize;
Winpen741() {
super();
setSize(300,150);
Container con = getContentPane();
con.setLayout(new GridLayout(2,1));
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(2,3));
but1 = new JButton();
but1.setBackground(Color.pink);
but1.addActionListener(this);
p1.add(but1);
but2 = new JButton();
but2.setBackground(Color.blue);
but2.addActionListener(this);
p1.add(but2);
but3 = new JButton();
but3.setBackground(Color.yellow);
but3.addActionListener(this);
p1.add(but3);
but4 = new JButton();
but4.setBackground(Color.gray);
but4.addActionListener(this);
p1.add(but4);
but5 = new JButton();
but5.setBackground(Color.green);
but5.addActionListener(this);
p1.add(but5);
but6 = new JButton();
but6.setBackground(Color.red);
but6.addActionListener(this);
p1.add(but6);
con.add(p1);
JPanel p2 = new JPanel();
p2.setLayout(new GridLayout(1,3));
JLabel la = new JLabel("输入画笔的大小");
p2.add(la);
tf = new JTextField(16);
p2.add(tf);
but = new JButton("确定");
but.addActionListener(this);
p2.add(but);
con.add(p2);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == but1)
c = Color.pink;
else if (e.getSource() == but2)
c = Color.blue;
else if (e.getSource() == but3)
c = Color.yellow;
else if (e.getSource() == but4)
c = Color.gray;
else if (e.getSource() == but5)
c = Color.green;
else if (e.getSource() == but6)
c = Color.red;
else if (e.getSource() == but) {
String s = null;
s = tf.getText();
pensize = Integer.parseInt(s);
Winmain.setpen(pensize,c);// 返回画笔大小和颜色
this.setVisible(false);
this.dispose();
}
}
}
class Wineraser742 extends JFrame implements ActionListener {// 设置橡皮界面
JTextField tf;
JButton but;
int erasersize;
Wineraser742() {
super();
setSize(300,150);
Container con = getContentPane();
con.setLayout(new GridLayout(1,3));
JLabel la = new JLabel("输入橡皮的大小");
con.add(la);
tf = new JTextField(16);
con.add(tf);
but = new JButton("确定");
but.addActionListener(this);
con.add(but);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == but) {
String s = null;
s = tf.getText();
erasersize = Integer.parseInt(s);
Winmain.seteraser(erasersize);// 返回橡皮大小
this.setVisible(false);
this.dispose();
}
}
}
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
相关文章
总结
以上是编程之家为你收集整理的java 画板画图程序全部内容,希望文章能够帮你解决java 画板画图程序所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
java画板_java 画板画图程序相关推荐
- java画笔覆盖在界面_Java实现画图程序和重绘
上次聊了一下事件监听机制,今天就来聊一下怎么实现一个画图程序并且实现重绘. 一.实现画图程序 1.实现一个画图程序所需的API类? JFrame窗体容器组件类 JPanel 面板元素组件类 JButt ...
- java创建画板_java画板的设计和创建
首先创建一个画板类继承容器类,这样可以在画板类中重写容器的paint方法. public class DrawFrame extends JPanel 再创建一个类写监听器的程序,以及一个类来写画板的 ...
- java 秒表_JAVA计时器秒表程序代码
<JAVA计时器秒表程序代码>由会员分享,可在线阅读,更多相关<JAVA计时器秒表程序代码(7页珍藏版)>请在人人文库网上搜索. 1.Java计时器(秒表)功能:能实现计时,暂 ...
- java 字数_Java字数统计程序
我正在尝试制作一个关于字数的程序,我已经部分制作并且它给出了正确的结果但是当我输入空格或字符串中的多个空格时,字数的结果显示错误的结果,因为我在计算单词在使用的空间的基础上.如果有一个解决方案,无论有 ...
- odbc java 驱动程序_Java访问数据库程序,提示[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序错误...
packageSimilarCal;importjava.sql.DriverManager;importjava.sql.Connection;//importjava.sql.*;publiccl ...
- java 双屏_java – 双屏应用程序
如果我没有错,这可能对你有帮助. 第一个位置在每个屏幕设备上的帧. frame1.setLocation(pointOnFirstScreen); frame2.setLocation(pointOn ...
- java 取款机_JAVA ATM提款机程序
//登陆页面publicvoidland(){System.out.println("请选择操作界面:1取款,2存款,3查询,4转账,5退出");inta=sc.nextInt() ...
- java画板代码_java 画板画图程序
[java]代码库import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Board { /** ...
- java代码实现画板_求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!...
展开全部 取个叫pb.java的文件拷贝进去(pb类为main入口),直接运行 --e68a843231313335323631343130323136353331333236376538------ ...
最新文章
- Ubuntu 新装服务器部署流程
- 根据 sitemap 的规则[0],当前页面 [pages/index/index] 将被索引
- python中对象和变量的关系_浅析python中的类变量和对象变量
- hibernate查询-基本查询
- 如何导出maven子项目_如何使用maven 轻松重构项目
- 在Marketplace上销售应用【WP7学习札记之十八】
- python从列表随机取出多个数据_【python】从数组随机取数据
- 【渝粤教育】国家开放大学2019年春季 2767养猪技术 参考试题
- 画了个Android
- es6 模块的整体加载
- 接口测试时,输入所有参数的参数值后,接口返回“参数错误:所有参数都不能为空”
- 在docker container中为gsutil认证gcloud
- 海外php程序员,国外PHP程序员的13个好习惯_php
- 基础矩阵,本质矩阵,单应性矩阵讲解,在ORB-SLAM相机的位姿初始化的应用
- sql语句中分组和排序(group by、order by、rank)
- JAVA关键字final修饰类,深入分析java中的关键字final
- php开发电脑i56200u,Intel Core i5-6200U性能跑分和评测 | ZMMOO
- Java实现读取csv文件
- 盘点40个最佳项目管理工具大全
- c语言 求单元格中间某段字符串,EXCEL怎么取单元格里面的的值的中间某些字符...
热门文章
- 注意力机制Effective Approaches to Attention-based Neural Machine Translation
- Java入门基础及面试100题--初入门
- Baklib分享|知识管理是企业发展的风向标
- 解决 Chrome 浏览器地址栏字体发虚模糊
- Arduino 下初试 stm32开发板
- Android---ADB工具连接真实手机(有线连接与无线连接)
- 初识OpenGL (-)纹理过滤(Texture Filtering)
- R语言ggpubr包的ggscatter函数可视化散点图(scatter plot)、设置add参数为loess为散点图添加局部加权回归曲线、配置conf.int参数为回归线添加置信区
- 华大460 GPIO 例程赏析_20220911
- 使用Huginn批量订阅微信公众号