Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package greditor;
- import java.awt.*;
- import java.awt.event.*;
- class myListener implements WindowListener, ActionListener, MouseListener, MouseMotionListener {
- Fr1 f;
- myListener(Fr1 f) {
- this.f = f;
- }
- public void windowClosing(WindowEvent ev) {
- System.exit(0);
- }
- public void windowActivated(WindowEvent ev) {
- }
- public void windowClosed(WindowEvent ev) {
- }
- public void windowDeactivated(WindowEvent ev) {
- }
- public void windowDeiconified(WindowEvent ev) {
- }
- public void windowIconified(WindowEvent ev) {
- }
- public void windowOpened(WindowEvent ev) {
- }
- public void actionPerformed(ActionEvent ae) {
- String tmp = f.figure;
- f.figure = ((Button) ae.getSource()).getLabel().trim();
- f.m.setText(f.figure);
- if (f.figure.equals("Очистить")) {
- Graphics g = (f.p1).getGraphics();
- g.setColor(f.cB);
- g.fillRect(0, 0, f.p1.getWidth(), f.p1.getHeight());
- } else if (!f.figure.equals("Линия") && !f.figure.equals("Окружность") && !f.figure.equals("Прямоугольник")) {
- for (int i = 0; i < f.cb.length; i++) {
- //System.out.println(i);
- if (f.figure.equals("" + i)) {
- //System.out.println(i);
- f.cF = f.cm[i];
- break;
- }
- }
- f.figure = tmp;
- }
- }
- public void mouseEntered(MouseEvent me) {
- }
- public void mouseClicked(MouseEvent me) {
- }
- public void mousePressed(MouseEvent me) {
- f.X = f.X1 = me.getX();
- f.Y = f.Y1 = me.getY();
- }
- public void mouseReleased(MouseEvent me) {
- }
- public void mouseExited(MouseEvent me) {
- }
- public void mouseMoved(MouseEvent me) {
- }
- public void mouseDragged(MouseEvent me) {
- Graphics g = ((Panel) me.getSource()).getGraphics();
- int x, x1, y, y1;
- if (f.figure.equals("Линия")) {
- //Color c = f.cF;
- g.setColor(f.cB);
- g.drawLine(f.X, f.Y, f.X1, f.Y1);
- g.setColor(f.cF);
- f.X1 = me.getX();
- f.Y1 = me.getY();
- g.drawLine(f.X, f.Y, f.X1, f.Y1);
- f.m.setText(f.figure + " (" + f.X + "," + f.Y + ") - (" + f.X1 + "," + f.Y1 + ")");
- }
- if (f.figure.equals("Окружность")) {
- g.setColor(f.cB);
- if (f.X1 < f.X) {
- x1 = f.X;
- x = f.X1;
- } else {
- x1 = f.X1;
- x = f.X;
- }
- if (f.Y1 < f.Y) {
- y1 = f.Y;
- y = f.Y1;
- } else {
- y1 = f.Y1;
- y = f.Y;
- }
- g.drawOval(x, y, x1 - x, y1 - y);
- g.setColor(f.cF);
- f.X1 = me.getX();
- f.Y1 = me.getY();
- if (f.X1 < f.X) {
- x1 = f.X;
- x = f.X1;
- } else {
- x1 = f.X1;
- x = f.X;
- }
- if (f.Y1 < f.Y) {
- y1 = f.Y;
- y = f.Y1;
- } else {
- y1 = f.Y1;
- y = f.Y;
- }
- g.drawOval(x, y, x1 - x, y1 - y);
- f.m.setText(f.figure + " (" + f.X + "," + f.Y + ") - (" + f.X1 + "," + f.Y1 + ")");
- }
- if (f.figure.equals("Прямоугольник")) {
- g.setColor(f.cB);
- g.drawRect(f.X, f.Y, f.X1 - f.X, f.Y1 - f.Y);
- g.setColor(f.cF);
- f.X1 = me.getX();
- f.Y1 = me.getY();
- g.drawRect(f.X, f.Y, f.X1 - f.X, f.Y1 - f.Y);
- f.m.setText(f.figure + " (" + f.X + "," + f.Y + ") - (" + f.X1 + "," + f.Y1 + ")");
- }
- }
- } // к классу myListener
- class Fr1 extends Frame {
- Panel p, p1, p2, p3, p4;
- Button bt1, bt2, bt3, bt4;
- Button[] cb = new Button[8];
- Color[] cm = {Color.RED, Color.ORANGE, Color.YELLOW, Color.blue, Color.CYAN, Color.GREEN, Color.black, Color.WHITE};
- Label m;
- String figure = "";
- int X = 0, Y = 0, X1 = 0, Y1 = 0;
- Color cF = Color.black, cB = Color.white;
- Fr1(String s) {
- super(s);
- for (int i = 0; i < cb.length; i++) {
- cb[i] = new Button("" + i);
- }
- p = new Panel();
- p1 = new Panel();
- p2 = new Panel();
- p3 = new Panel();
- p4 = new Panel();
- bt1 = new Button(" Окружность ");
- bt2 = new Button(" Прямоугольник ");
- bt3 = new Button(" Линия ");
- bt4 = new Button(" Очистить ");
- m = new Label(" Заголовок! ");
- add(p);
- p.setLayout(new BorderLayout());
- p.add(m, BorderLayout.NORTH);
- p.add(p1, BorderLayout.CENTER);
- p.add(p2, BorderLayout.SOUTH);
- p.add(p3, BorderLayout.EAST);
- p3.add(p4, BorderLayout.NORTH);
- p2.add(bt1);
- p2.add(bt2);
- p2.add(bt3);
- p2.add(bt4);
- myListener ml = new myListener(this);
- p4.setLayout(new GridLayout(4, 2, 1, 1));
- for (int i = 0; i < cm.length; i++) {
- p4.add(cb[i]);
- cb[i].setBackground(cm[i]);
- cb[i].setForeground(cm[i]);
- cb[i].addActionListener(ml);
- }
- addWindowListener(ml);
- bt1.addActionListener(ml);
- bt2.addActionListener(ml);
- bt3.addActionListener(ml);
- bt4.addActionListener(ml);
- p1.addMouseListener(ml);
- p1.addMouseMotionListener(ml);
- }
- } // к классу Fr1
- public class GrEditor {
- public static void main(String[] args) {
- Fr1 f = new Fr1("Моя программа");
- f.setSize(600, 600);
- f.setVisible(true);
- }
- }
Add Comment
Please, Sign In to add comment