Guest User

KursaDarbs

a guest
Nov 12th, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.11 KB | None | 0 0
  1. import javax.swing.JFrame;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.awt.Toolkit;
  5. import javax.swing.GroupLayout;
  6. import javax.swing.JPanel;
  7. import javax.swing.JTextArea;
  8. import javax.swing.JButton;
  9. import javax.swing.JTextField;
  10. import javax.swing.JLabel;
  11. import javax.swing.JScrollPane;
  12. import java.awt.Dimension;
  13. import java.awt.event.KeyAdapter;  
  14. import java.awt.event.KeyEvent;
  15. import javax.swing.border.EtchedBorder;
  16. import javax.swing.border.TitledBorder;
  17. import javax.swing.text.JTextComponent;
  18. import javax.swing.JOptionPane;
  19.  
  20. class NumOnly extends KeyAdapter {  
  21.  
  22.     private String Atlauts = "[^0-9]";  //Atļautās pogas.
  23.     public void keyReleased(KeyEvent e) {   //Key event. Kas notiek, kad nospiesta poga
  24.         String curText = ((JTextComponent) e.getSource()).getText();  //Pašlaicīgais teksts
  25.         curText = curText.replaceAll(Atlauts, "");   //Nav atļauta poga? aizvieto to ar tukšumu.
  26.  
  27.         ((JTextComponent) e.getSource()).setText(curText);  
  28.     }  
  29. }  
  30.  
  31. public class kursadarbs{
  32.    
  33.     static boolean Pirmsk (int x)
  34.         {
  35.           if(x <= 1)
  36.             return false;
  37.           int s = (int) Math.sqrt(x);
  38.           for(int i = 2; i <= s; i++)
  39.             if(x%i == 0)
  40.               return false;
  41.           return true;
  42.         }
  43.  
  44.     public static void main(String[] args) {
  45.  
  46.         JFrame frame= new JFrame();
  47.         JPanel panel= new JPanel();
  48.        
  49.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //iziet piespiežot x augšā.
  50.  
  51.         JLabel label1= new JLabel("Ievadiet skaitļu 1 robežu: ");
  52.        
  53.         final JTextField textbox1= new JTextField(10);
  54.         textbox1.addKeyListener(new NumOnly());
  55.        
  56.         JLabel label2= new JLabel("Ievadiet skaitļu 2 robežu: ");
  57.        
  58.         final JTextField textbox2= new JTextField(10);
  59.         textbox2.addKeyListener(new NumOnly());
  60.        
  61.         JButton button= new JButton("Aprēķināt");
  62.        
  63.         final JTextArea textarea= new JTextArea(20,20); //Rezultāts
  64.         textarea.setEditable(false);
  65.         textarea.setLineWrap(true);
  66.         JScrollPane scroll= new JScrollPane(textarea);
  67.         scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
  68.         textarea.setWrapStyleWord(true);
  69.         textarea.setBorder(new TitledBorder(new EtchedBorder(), "Rezultāts"));
  70.        
  71.    
  72.        
  73.        
  74.         GroupLayout groupLayout = new GroupLayout(panel);
  75.         panel.setLayout(groupLayout);  
  76.         groupLayout.setAutoCreateGaps(true);      // Izmanto automātisku atstarpju veidošanu
  77.         groupLayout.setAutoCreateContainerGaps(true);
  78.        
  79.         GroupLayout.SequentialGroup HorSGroup= groupLayout.createSequentialGroup(); //Izveido sakārtotu grupu. Šī grupa atbild par horizontālajiem priekšmetiem
  80.         GroupLayout.SequentialGroup VerSGroup= groupLayout.createSequentialGroup(); //... Bet šī par Vertikālajām grupām
  81.        
  82.         GroupLayout.ParallelGroup HParallelGroup1= groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING); //Izveido Horizontālās grupas.
  83.         GroupLayout.ParallelGroup HParallelGroup2= groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING);
  84.         GroupLayout.ParallelGroup HParallelGroup3= groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING);
  85.        
  86.         HParallelGroup1.addComponent(label1); //Pievieno objektus dotajai grupai
  87.         HParallelGroup1.addComponent(label2);
  88.         HParallelGroup2.addComponent(textbox1);
  89.         HParallelGroup2.addComponent(textbox2);
  90.         HParallelGroup2.addComponent(scroll);
  91.         HParallelGroup3.addComponent(button);
  92.        
  93.         HorSGroup.addGroup(HParallelGroup1); //Horizontālās grupas tiek pievienotas sakārtotajai grupai
  94.         HorSGroup.addGroup(HParallelGroup2);
  95.         HorSGroup.addGroup(HParallelGroup3);
  96.        
  97.         GroupLayout.ParallelGroup VerPGroup1= groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE); //Izveido Vertikālās grupas.
  98.         GroupLayout.ParallelGroup VerPGroup2= groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE);
  99.         GroupLayout.ParallelGroup VerPGroup3= groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE);
  100.        
  101.         VerPGroup1.addComponent(label1); //Pievieno objektus
  102.         VerPGroup1.addComponent(textbox1);
  103.         VerPGroup1.addComponent(button);
  104.         VerPGroup2.addComponent(label2);
  105.         VerPGroup2.addComponent(textbox2);
  106.         VerPGroup3.addComponent(scroll);
  107.        
  108.         VerSGroup.addGroup(VerPGroup1); //Vertikālās grupas pievieno Vertikālajai Sakārtotajai grupai
  109.         VerSGroup.addGroup(VerPGroup2);
  110.         VerSGroup.addGroup(VerPGroup3);
  111.        
  112.         groupLayout.setHorizontalGroup(HorSGroup); //Pasaka, kura grupa ir galvenā horizontālā virzienā
  113.         groupLayout.setVerticalGroup(VerSGroup);
  114.        
  115.        
  116.        
  117.  
  118.         Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
  119.         int x = (int) (dimension.getWidth()/4);
  120.         int y = (int) (dimension.getHeight()/4);
  121.         frame.setLocation(x, y); //Ieliek programmu gandrīz monitora vidū.
  122.        
  123.         button.addActionListener(new ActionListener() {
  124.            
  125.             public void actionPerformed(ActionEvent e)
  126.             {
  127.                //Šis viss notiek, kad ir nospiesta poga Aprēķināt.
  128.                 String first = null, second = null, name="Pirmskaitļu aprēķinātājs";  
  129.                 int first1=0, second1=0, count=0;
  130.                 textarea.setText("");
  131.                first= textbox1.getText();  //Iegūst no textbox1 skaitļus
  132.                second= textbox2.getText();
  133.                
  134.                if(!first.isEmpty() && !second.isEmpty()) //Ja ne textbox1 un textbox2 nav tukšs, notiek šis kods.
  135.                {
  136.                    first1= Integer.parseInt(first);  //Pārveido string par Integer.
  137.                    second1= Integer.parseInt(second);
  138.                    
  139.                    if(first1<second1)
  140.                    { //Pārbauda, vai otrais ievadītais skaitlis nav lielāks par pirmo.
  141.                       for(int i=first1;i<=second1;i++)
  142.                        {
  143.                           if(Pirmsk(i))
  144.                           {
  145.                             textarea.append(i+"\n");
  146.                             count++;
  147.                           }
  148.                        }  
  149.                      
  150.                      if(count!=0)
  151.                      {
  152.                      JOptionPane.showMessageDialog(null, "Kopā atrasti "+count+" pirmskaitļi", name, JOptionPane.INFORMATION_MESSAGE); //Ja ir atrasts kāds pirmskaitlis, izvada šo.
  153.                      }
  154.                      else //Ja nav, tad pasaka ka nav atrasti pirmskaitļi
  155.                      {
  156.                        JOptionPane.showMessageDialog(null, "Nav atrasts neviens pirmskaitlis", name, JOptionPane.INFORMATION_MESSAGE);
  157.                      }
  158.                    }// Ja ir pareizi
  159.                    else
  160.                    {
  161.                        JOptionPane.showMessageDialog(null,"Ievadīti nepareizi dati! Lūdzu, pārvadiet datus.", name, JOptionPane.ERROR_MESSAGE );
  162.                    }
  163.                } else
  164.                {
  165.                    JOptionPane.showMessageDialog(null,"Ievadīti nepareizi dati! Lūdzu, pārvadiet datus.", name, JOptionPane.ERROR_MESSAGE  );
  166.                }
  167.                
  168.            
  169.             }
  170.         });
  171.                
  172.        
  173.         frame.add(panel); //Pievieno paneli
  174.         frame.setSize(500, 500); //Programmas lielums pikseļos.
  175.         frame.setResizable(false); //Rāmi nevar palielināt, vai samazināt.
  176.         frame.setTitle("Kursa darbs. Austris Baumanis");//virsraksts
  177.         frame.setVisible(true); //parāda ka ir redzams
  178.      
  179.        
  180.     }
  181.  
  182. }
Advertisement
Add Comment
Please, Sign In to add comment