Advertisement
Slapoguzov

2

Oct 30th, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 24.68 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7. package lab4;
  8.  
  9. import java.awt.Color;
  10. import java.awt.Graphics;
  11. import java.awt.Polygon;
  12. import static java.lang.Thread.sleep;
  13. import java.util.logging.Level;
  14. import java.util.logging.Logger;
  15.  
  16. /**
  17.  *
  18.  * @author slapo_000
  19.  */
  20. class Animation extends Thread
  21. {
  22.     private javax.swing.JFrame Fr;
  23.     private int R;
  24.     public Animation(javax.swing.JFrame Fr_, int R_)
  25.     {
  26.         Fr = Fr_;
  27.         R = R_;
  28.     }
  29.     @Override
  30.     public void run() {
  31.        Graphics g = Fr.getGraphics();
  32.        Polygon trianglePol = new Polygon(new int[] {150,150,(150-10*(R/2))}, new int[] {150-10*R, 150,150}, 3);
  33.         try
  34.         {
  35.         for(int i=0; i < 40; i++)
  36.         {
  37.         sleep(20);  
  38.         if(i>20)
  39.         {
  40.             g.setColor(new Color((40-i)*8, (40-i)*8, (40-i)*7));
  41.         }
  42.         else
  43.         {
  44.         g.setColor(new Color(i*8, i*8, i*7));
  45.         }
  46.         g.fillPolygon(trianglePol);
  47.         g.fillRect(150, 150, R*10, R*10);
  48.         g.fillArc(150-R*10,150-R*10,R*20,R*20,180,90);
  49.         }
  50.         }
  51.         catch(InterruptedException e){
  52.         }
  53.     }
  54.  
  55.    
  56. }
  57.  
  58. public class MainWindows extends javax.swing.JFrame {
  59.     private final int mashtab = 10;     //1ед = 10px
  60.     private int x_p;
  61.     private int y_p;
  62.     /**
  63.      * Creates new form MainWindows
  64.      */
  65.     public MainWindows() {
  66.         initComponents();
  67.         this.getContentPane().setLayout(new java.awt.GridLayout(0,2));
  68.     }
  69.  
  70.     /**
  71.      * This method is called from within the constructor to initialize the form.
  72.      * WARNING: Do NOT modify this code. The content of this method is always
  73.      * regenerated by the Form Editor.
  74.      */
  75.     @SuppressWarnings("unchecked")
  76.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  77.     private void initComponents() {
  78.  
  79.         jPanel1 = new javax.swing.JPanel();
  80.         jPanel2 = new javax.swing.JPanel();
  81.         jScrollPane1 = new javax.swing.JScrollPane();
  82.         jList1 = new javax.swing.JList();
  83.         jCheckBox6 = new javax.swing.JCheckBox();
  84.         jCheckBox7 = new javax.swing.JCheckBox();
  85.         jCheckBox8 = new javax.swing.JCheckBox();
  86.         jCheckBox9 = new javax.swing.JCheckBox();
  87.         jCheckBox1 = new javax.swing.JCheckBox();
  88.         jCheckBox2 = new javax.swing.JCheckBox();
  89.         jCheckBox3 = new javax.swing.JCheckBox();
  90.         jCheckBox4 = new javax.swing.JCheckBox();
  91.         jCheckBox5 = new javax.swing.JCheckBox();
  92.         jTextField1 = new javax.swing.JTextField();
  93.         jTextField2 = new javax.swing.JTextField();
  94.         jSlider1 = new javax.swing.JSlider();
  95.         jLabel1 = new javax.swing.JLabel();
  96.         jLabel2 = new javax.swing.JLabel();
  97.  
  98.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  99.         addMouseListener(new java.awt.event.MouseAdapter() {
  100.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  101.                 formMouseClicked(evt);
  102.             }
  103.         });
  104.         getContentPane().setLayout(new java.awt.GridLayout());
  105.  
  106.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  107.         jPanel1.setLayout(jPanel1Layout);
  108.         jPanel1Layout.setHorizontalGroup(
  109.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  110.             .addGap(0, 291, Short.MAX_VALUE)
  111.         );
  112.         jPanel1Layout.setVerticalGroup(
  113.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  114.             .addGap(0, 360, Short.MAX_VALUE)
  115.         );
  116.  
  117.         getContentPane().add(jPanel1);
  118.  
  119.         jList1.setModel(new javax.swing.AbstractListModel() {
  120.             String[] strings = { "3", "0", "2", "1", "2", "1", "5", "5", "-5" };
  121.             public int getSize() { return strings.length; }
  122.             public Object getElementAt(int i) { return strings[i]; }
  123.         });
  124.         jScrollPane1.setViewportView(jList1);
  125.  
  126.         jCheckBox6.addItemListener(new java.awt.event.ItemListener() {
  127.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  128.                 jCheckBox1ItemStateChanged(evt);
  129.             }
  130.         });
  131.         jCheckBox6.setText("-2");
  132.         jCheckBox6.setName("5"); // NOI18N
  133.  
  134.         jCheckBox7.addItemListener(new java.awt.event.ItemListener() {
  135.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  136.                 jCheckBox1ItemStateChanged(evt);
  137.             }
  138.         });
  139.         jCheckBox7.setText("5");
  140.         jCheckBox7.setName("6"); // NOI18N
  141.         jCheckBox7.addActionListener(new java.awt.event.ActionListener() {
  142.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  143.                 jCheckBox7ActionPerformed(evt);
  144.             }
  145.         });
  146.  
  147.         jCheckBox8.addItemListener(new java.awt.event.ItemListener() {
  148.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  149.                 jCheckBox1ItemStateChanged(evt);
  150.             }
  151.         });
  152.         jCheckBox8.setText("-3");
  153.         jCheckBox8.setName("7"); // NOI18N
  154.  
  155.         jCheckBox9.addItemListener(new java.awt.event.ItemListener() {
  156.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  157.                 jCheckBox1ItemStateChanged(evt);
  158.             }
  159.         });
  160.         jCheckBox9.setText("3");
  161.         jCheckBox9.setName("8"); // NOI18N
  162.  
  163.         jCheckBox1.setText("-5");
  164.         jCheckBox1.setName("0"); // NOI18N
  165.         jCheckBox1.addItemListener(new java.awt.event.ItemListener() {
  166.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  167.                 jCheckBox1ItemStateChanged(evt);
  168.             }
  169.         });
  170.         jCheckBox1.addChangeListener(new javax.swing.event.ChangeListener() {
  171.             public void stateChanged(javax.swing.event.ChangeEvent evt) {
  172.                 jCheckBox1StateChanged(evt);
  173.             }
  174.         });
  175.  
  176.         jCheckBox2.addItemListener(new java.awt.event.ItemListener() {
  177.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  178.                 jCheckBox1ItemStateChanged(evt);
  179.             }
  180.         });
  181.         jCheckBox2.setText("0");
  182.         jCheckBox2.setName("1"); // NOI18N
  183.  
  184.         jCheckBox3.addItemListener(new java.awt.event.ItemListener() {
  185.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  186.                 jCheckBox1ItemStateChanged(evt);
  187.             }
  188.         });
  189.         jCheckBox3.setText("-2");
  190.         jCheckBox3.setName("2"); // NOI18N
  191.  
  192.         jCheckBox4.addItemListener(new java.awt.event.ItemListener() {
  193.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  194.                 jCheckBox1ItemStateChanged(evt);
  195.             }
  196.         });
  197.         jCheckBox4.setText("-2");
  198.         jCheckBox4.setName("3"); // NOI18N
  199.  
  200.         jCheckBox5.addItemListener(new java.awt.event.ItemListener() {
  201.             public void itemStateChanged(java.awt.event.ItemEvent evt) {
  202.                 jCheckBox1ItemStateChanged(evt);
  203.             }
  204.         });
  205.         jCheckBox5.setText("3");
  206.         jCheckBox5.setName("4"); // NOI18N
  207.  
  208.         jTextField1.setEnabled(false);
  209.  
  210.         jTextField2.setEnabled(false);
  211.         jTextField2.addActionListener(new java.awt.event.ActionListener() {
  212.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  213.                 jTextField2ActionPerformed(evt);
  214.             }
  215.         });
  216.  
  217.         jSlider1.setMaximum(10);
  218.         jSlider1.setPaintLabels(true);
  219.         jSlider1.setPaintTicks(true);
  220.         jSlider1.setValue(0);
  221.         jSlider1.addChangeListener(new javax.swing.event.ChangeListener() {
  222.             public void stateChanged(javax.swing.event.ChangeEvent evt) {
  223.                 jSlider1StateChanged(evt);
  224.             }
  225.         });
  226.  
  227.         jLabel1.setText("X");
  228.  
  229.         jLabel2.setText("Y");
  230.  
  231.         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  232.         jPanel2.setLayout(jPanel2Layout);
  233.         jPanel2Layout.setHorizontalGroup(
  234.             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  235.             .addGroup(jPanel2Layout.createSequentialGroup()
  236.                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  237.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
  238.                         .addContainerGap(81, Short.MAX_VALUE)
  239.                         .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  240.                     .addGroup(jPanel2Layout.createSequentialGroup()
  241.                         .addGap(55, 55, 55)
  242.                         .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  243.                             .addGroup(jPanel2Layout.createSequentialGroup()
  244.                                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  245.                                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  246.                                     .addComponent(jLabel1))
  247.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  248.                                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  249.                                     .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  250.                                         .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  251.                                             .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  252.                                                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  253.                                                     .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  254.                                                         .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  255.                                                             .addComponent(jCheckBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  256.                                                             .addComponent(jCheckBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  257.                                                             .addComponent(jCheckBox3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  258.                                                             .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
  259.                                                         .addComponent(jCheckBox4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
  260.                                                     .addComponent(jCheckBox5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
  261.                                                 .addComponent(jCheckBox6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
  262.                                             .addComponent(jCheckBox7, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
  263.                                         .addComponent(jCheckBox8, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
  264.                                     .addComponent(jCheckBox9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)))
  265.                             .addGroup(jPanel2Layout.createSequentialGroup()
  266.                                 .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
  267.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  268.                                 .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
  269.                         .addGap(0, 0, Short.MAX_VALUE)))
  270.                 .addContainerGap())
  271.         );
  272.         jPanel2Layout.setVerticalGroup(
  273.             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  274.             .addGroup(jPanel2Layout.createSequentialGroup()
  275.                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  276.                     .addComponent(jLabel1)
  277.                     .addComponent(jLabel2))
  278.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  279.                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  280.                     .addGroup(jPanel2Layout.createSequentialGroup()
  281.                         .addComponent(jCheckBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  282.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  283.                         .addComponent(jCheckBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  284.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  285.                         .addComponent(jCheckBox3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  286.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  287.                         .addComponent(jCheckBox4, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  288.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  289.                         .addComponent(jCheckBox5, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  290.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  291.                         .addComponent(jCheckBox6, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  292.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  293.                         .addComponent(jCheckBox7, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  294.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  295.                         .addComponent(jCheckBox8, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  296.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  297.                         .addComponent(jCheckBox9, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
  298.                         .addGap(0, 0, 0))
  299.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
  300.                         .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
  301.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))
  302.                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  303.                     .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  304.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  305.                 .addGap(18, 18, 18)
  306.                 .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  307.                 .addContainerGap(92, Short.MAX_VALUE))
  308.         );
  309.  
  310.         getContentPane().add(jPanel2);
  311.  
  312.         pack();
  313.     }// </editor-fold>                        
  314.  
  315.     private void jCheckBox7ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  316.      
  317.     }                                          
  318.  
  319.     private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {                                      
  320.         Graphics g = this.getGraphics();
  321.         int r = (((javax.swing.JSlider)evt.getSource()).getValue());
  322.         paintR(g,r);
  323.         setPoint(x_p, -y_p);
  324.     }                                    
  325.  
  326.     private void formMouseClicked(java.awt.event.MouseEvent evt) {                                  
  327.         //paint(this.getGraphics());
  328.        
  329.         x_p = (evt.getX()-150) / mashtab;
  330.         y_p = -(evt.getY()-150) / mashtab;
  331.  
  332.         setPoint(x_p,-y_p);
  333.     }                                
  334.  
  335.     private void jCheckBox1StateChanged(javax.swing.event.ChangeEvent evt) {                                        
  336.  
  337.     }                                      
  338.     private void setPoint(int x, int y)
  339.     {
  340.         paintR(this.getGraphics(),jSlider1.getValue());
  341.         if(Math.abs(x) <= 10 && Math.abs(y) <= 10)
  342.         {  
  343.         jTextField1.setText(Integer.toString(x));
  344.         jTextField2.setText(Integer.toString(-y));
  345.         Animation myAnim = new Animation(this,jSlider1.getValue());
  346.         Thread myThready = new Thread(myAnim);  
  347.         Punto points = new Punto(x,-y);
  348.         Forma field = new Forma(jSlider1.getValue());
  349.         x = 150 + x * mashtab;
  350.         y =  y * mashtab + 150;
  351.         try {
  352.  
  353.              myThready.join();
  354.          
  355.         }
  356.         catch (InterruptedException ex) {          
  357.         }
  358.         if(field.inField(points))
  359.         {
  360.         myThready.start();
  361.         try {
  362.              myThready.join();
  363.         }
  364.         catch (InterruptedException ex) {          
  365.         }
  366.         drawPointGraph(this.getGraphics(), x,y, Color.GREEN);
  367.         }
  368.         else
  369.         {
  370.         drawPointGraph(this.getGraphics(), x,y, Color.RED);
  371.         }
  372.  
  373.         }
  374.     }
  375.     private void jCheckBox1ItemStateChanged(java.awt.event.ItemEvent evt) {                                            
  376.        for(int i=0; i<jPanel2.getComponentCount(); i++)
  377.         {
  378.             if(jPanel2.getComponent(i) instanceof javax.swing.JCheckBox)
  379.             {
  380.             if(jPanel2.getComponent(i) != evt.getSource() && ((javax.swing.JCheckBox)jPanel2.getComponent(i)).isSelected())
  381.             {
  382.                 ((javax.swing.JCheckBox)jPanel2.getComponent(i)).setSelected(false);
  383.                 break;
  384.             }
  385.             else if(((javax.swing.JCheckBox)jPanel2.getComponent(i)).isSelected())
  386.             {
  387.                 y_p = Integer.parseInt(((javax.swing.JCheckBox)evt.getSource()).getText());
  388.                 int index;
  389.                 if(jList1.isSelectionEmpty())
  390.                 {
  391.                 String name = ((javax.swing.JCheckBox)evt.getSource()).getName();
  392.                 index = Integer.parseInt(name);          
  393.                 x_p = Integer.parseInt((String)(jList1.getModel().getElementAt(index)));
  394.                 jList1.setSelectedIndex(index);
  395.                 }
  396.                 else
  397.                 {
  398.                 index = jList1.getSelectedIndex();
  399.                 }
  400.                 x_p = Integer.parseInt((String)(jList1.getModel().getElementAt(index)));
  401.                
  402.                 setPoint(x_p,-y_p);
  403.             }
  404.             }
  405.            
  406.         }
  407.     }                                          
  408.  
  409.     private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {                                            
  410.         // TODO add your handling code here:
  411.     }                                          
  412.      
  413.     public void paintR(Graphics g, int R)
  414.     {
  415.         paintFieldXY(g);
  416.         if(R !=0)
  417.         {
  418.         g.setColor(Color.black);
  419.         g.drawLine(145,150+10*R,155,150+10*R);
  420.         g.drawString("-R", 145-15, 150+10*R+10);
  421.         g.drawLine(145,150-10*R,155,150-10*R);
  422.         g.drawString("R", 145+15, 150-10*R+4);
  423.         g.drawLine(150+10*R,145,150+10*R,155);
  424.         g.drawString("R", 150+10*R, 170);
  425.         g.drawLine(150-10*R,145,150-10*R,155);
  426.         g.drawString("-R", 150-10*R-8, 145);
  427.        
  428.         g.setColor(Color.YELLOW);
  429.         Polygon trianglePol = new Polygon(new int[] {150,150,(150-10*(R/2))}, new int[] {150-10*R, 150,150}, 3);
  430.         g.drawPolygon(trianglePol);
  431.         g.drawRect(150, 150, R*10, R*10);
  432.         g.drawArc(150,150,R*10,R*10,180,90);
  433.         g.setColor(Color.BLACK);
  434.         g.fillPolygon(trianglePol);
  435.         g.fillRect(150, 150, R*10, R*10);
  436.         g.fillArc(150-R*10,150-R*10,R*20,R*20,180,90);
  437.         }
  438.         else
  439.         {
  440.           g.drawString("R", 153, 165);
  441.         }
  442.     }
  443.    
  444.     public void drawPointGraph(Graphics g, int x, int y, Color cl)
  445.     {
  446.         g.setColor(cl);
  447.         g.drawOval(x-2, y-2, 4, 4);
  448.     }
  449.     public void paintFieldXY(Graphics g)
  450.     {
  451.         g.clearRect(1, 1, 300, 300);
  452.         g.setColor(Color.black);
  453.          //Отрисовываем координатную плоскость
  454.          final int OX_X_1 = 40;
  455.          final int OX_X_2 = 270;
  456.          final int OX_Y = 150;
  457.          final int OY_X = 150;
  458.          final int OY_Y_1 = 40;
  459.          final int OY_Y_2 = 250;
  460.          g.drawLine(OY_X, OY_Y_1, OY_X, OY_Y_2);                //ось OY
  461.          g.drawLine(OX_X_1, OX_Y, OX_X_2, OX_Y);                //ось OX
  462.          g.drawString("Y", OY_X+5, OY_Y_1+5);                  //подписываем оси
  463.          g.drawString("X", OX_X_2-5, OX_Y-5);
  464.          g.drawLine(OY_X, OY_Y_1, OY_X+2, OY_Y_1+6);
  465.          g.drawLine(OY_X, OY_Y_1, OY_X-2, OY_Y_1+6);
  466.          g.drawLine(OX_X_2, OX_Y, OX_X_2-6, OX_Y-2);
  467.          g.drawLine(OX_X_2, OX_Y, OX_X_2-6, OX_Y+2);
  468.     }
  469.     public void paint(Graphics g) {
  470.          super.paintComponents(g);
  471.          paintFieldXY(g);
  472.       }
  473.      
  474.  
  475.     /**
  476.      * @param args the command line arguments
  477.      */
  478.    
  479.     public static void main(String args[]) {
  480.         try {
  481.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  482.                 if ("Nimbus".equals(info.getName())) {
  483.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  484.                     break;
  485.                 }
  486.             }
  487.         } catch (ClassNotFoundException ex) {
  488.             java.util.logging.Logger.getLogger(MainWindows.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  489.         } catch (InstantiationException ex) {
  490.             java.util.logging.Logger.getLogger(MainWindows.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  491.         } catch (IllegalAccessException ex) {
  492.             java.util.logging.Logger.getLogger(MainWindows.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  493.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  494.             java.util.logging.Logger.getLogger(MainWindows.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  495.         }
  496.         java.awt.EventQueue.invokeLater(new Runnable() {
  497.             public void run() {
  498.                 new MainWindows().setVisible(true);
  499.             }
  500.         });
  501.     }
  502.  
  503.     // Variables declaration - do not modify                    
  504.     private javax.swing.JCheckBox jCheckBox1;
  505.     private javax.swing.JCheckBox jCheckBox2;
  506.     private javax.swing.JCheckBox jCheckBox3;
  507.     private javax.swing.JCheckBox jCheckBox4;
  508.     private javax.swing.JCheckBox jCheckBox5;
  509.     private javax.swing.JCheckBox jCheckBox6;
  510.     private javax.swing.JCheckBox jCheckBox7;
  511.     private javax.swing.JCheckBox jCheckBox8;
  512.     private javax.swing.JCheckBox jCheckBox9;
  513.     private javax.swing.JLabel jLabel1;
  514.     private javax.swing.JLabel jLabel2;
  515.     private javax.swing.JList jList1;
  516.     private javax.swing.JPanel jPanel1;
  517.     private javax.swing.JPanel jPanel2;
  518.     private javax.swing.JScrollPane jScrollPane1;
  519.     private javax.swing.JSlider jSlider1;
  520.     private javax.swing.JTextField jTextField1;
  521.     private javax.swing.JTextField jTextField2;
  522.     // End of variables declaration                  
  523. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement