Advertisement
Slapoguzov

1

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