java 画板画图程序
发布时间:2020-12-15 00:12:25 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.awt.*; import javax.swing.*;import java.awt.event.*; public class Board { /** * @param args */ public static void main(String[]
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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(); } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |