Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.JFrame;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.Toolkit;
- import javax.swing.GroupLayout;
- import javax.swing.JPanel;
- import javax.swing.JTextArea;
- import javax.swing.JButton;
- import javax.swing.JTextField;
- import javax.swing.JLabel;
- import javax.swing.JScrollPane;
- import java.awt.Dimension;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.TitledBorder;
- import javax.swing.text.JTextComponent;
- import javax.swing.JOptionPane;
- class NumOnly extends KeyAdapter {
- private String Atlauts = "[^0-9]"; //Atļautās pogas.
- public void keyReleased(KeyEvent e) { //Key event. Kas notiek, kad nospiesta poga
- String curText = ((JTextComponent) e.getSource()).getText(); //Pašlaicīgais teksts
- curText = curText.replaceAll(Atlauts, ""); //Nav atļauta poga? aizvieto to ar tukšumu.
- ((JTextComponent) e.getSource()).setText(curText);
- }
- }
- public class kursadarbs{
- static boolean Pirmsk (int x)
- {
- if(x <= 1)
- return false;
- int s = (int) Math.sqrt(x);
- for(int i = 2; i <= s; i++)
- if(x%i == 0)
- return false;
- return true;
- }
- public static void main(String[] args) {
- JFrame frame= new JFrame();
- JPanel panel= new JPanel();
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //iziet piespiežot x augšā.
- JLabel label1= new JLabel("Ievadiet skaitļu 1 robežu: ");
- final JTextField textbox1= new JTextField(10);
- textbox1.addKeyListener(new NumOnly());
- JLabel label2= new JLabel("Ievadiet skaitļu 2 robežu: ");
- final JTextField textbox2= new JTextField(10);
- textbox2.addKeyListener(new NumOnly());
- JButton button= new JButton("Aprēķināt");
- final JTextArea textarea= new JTextArea(20,20); //Rezultāts
- textarea.setEditable(false);
- textarea.setLineWrap(true);
- JScrollPane scroll= new JScrollPane(textarea);
- scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
- textarea.setWrapStyleWord(true);
- textarea.setBorder(new TitledBorder(new EtchedBorder(), "Rezultāts"));
- GroupLayout groupLayout = new GroupLayout(panel);
- panel.setLayout(groupLayout);
- groupLayout.setAutoCreateGaps(true); // Izmanto automātisku atstarpju veidošanu
- groupLayout.setAutoCreateContainerGaps(true);
- GroupLayout.SequentialGroup HorSGroup= groupLayout.createSequentialGroup(); //Izveido sakārtotu grupu. Šī grupa atbild par horizontālajiem priekšmetiem
- GroupLayout.SequentialGroup VerSGroup= groupLayout.createSequentialGroup(); //... Bet šī par Vertikālajām grupām
- GroupLayout.ParallelGroup HParallelGroup1= groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING); //Izveido Horizontālās grupas.
- GroupLayout.ParallelGroup HParallelGroup2= groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING);
- GroupLayout.ParallelGroup HParallelGroup3= groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING);
- HParallelGroup1.addComponent(label1); //Pievieno objektus dotajai grupai
- HParallelGroup1.addComponent(label2);
- HParallelGroup2.addComponent(textbox1);
- HParallelGroup2.addComponent(textbox2);
- HParallelGroup2.addComponent(scroll);
- HParallelGroup3.addComponent(button);
- HorSGroup.addGroup(HParallelGroup1); //Horizontālās grupas tiek pievienotas sakārtotajai grupai
- HorSGroup.addGroup(HParallelGroup2);
- HorSGroup.addGroup(HParallelGroup3);
- GroupLayout.ParallelGroup VerPGroup1= groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE); //Izveido Vertikālās grupas.
- GroupLayout.ParallelGroup VerPGroup2= groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE);
- GroupLayout.ParallelGroup VerPGroup3= groupLayout.createParallelGroup(GroupLayout.Alignment.BASELINE);
- VerPGroup1.addComponent(label1); //Pievieno objektus
- VerPGroup1.addComponent(textbox1);
- VerPGroup1.addComponent(button);
- VerPGroup2.addComponent(label2);
- VerPGroup2.addComponent(textbox2);
- VerPGroup3.addComponent(scroll);
- VerSGroup.addGroup(VerPGroup1); //Vertikālās grupas pievieno Vertikālajai Sakārtotajai grupai
- VerSGroup.addGroup(VerPGroup2);
- VerSGroup.addGroup(VerPGroup3);
- groupLayout.setHorizontalGroup(HorSGroup); //Pasaka, kura grupa ir galvenā horizontālā virzienā
- groupLayout.setVerticalGroup(VerSGroup);
- Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
- int x = (int) (dimension.getWidth()/4);
- int y = (int) (dimension.getHeight()/4);
- frame.setLocation(x, y); //Ieliek programmu gandrīz monitora vidū.
- button.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e)
- {
- //Šis viss notiek, kad ir nospiesta poga Aprēķināt.
- String first = null, second = null, name="Pirmskaitļu aprēķinātājs";
- int first1=0, second1=0, count=0;
- textarea.setText("");
- first= textbox1.getText(); //Iegūst no textbox1 skaitļus
- second= textbox2.getText();
- if(!first.isEmpty() && !second.isEmpty()) //Ja ne textbox1 un textbox2 nav tukšs, notiek šis kods.
- {
- first1= Integer.parseInt(first); //Pārveido string par Integer.
- second1= Integer.parseInt(second);
- if(first1<second1)
- { //Pārbauda, vai otrais ievadītais skaitlis nav lielāks par pirmo.
- for(int i=first1;i<=second1;i++)
- {
- if(Pirmsk(i))
- {
- textarea.append(i+"\n");
- count++;
- }
- }
- if(count!=0)
- {
- JOptionPane.showMessageDialog(null, "Kopā atrasti "+count+" pirmskaitļi", name, JOptionPane.INFORMATION_MESSAGE); //Ja ir atrasts kāds pirmskaitlis, izvada šo.
- }
- else //Ja nav, tad pasaka ka nav atrasti pirmskaitļi
- {
- JOptionPane.showMessageDialog(null, "Nav atrasts neviens pirmskaitlis", name, JOptionPane.INFORMATION_MESSAGE);
- }
- }// Ja ir pareizi
- else
- {
- JOptionPane.showMessageDialog(null,"Ievadīti nepareizi dati! Lūdzu, pārvadiet datus.", name, JOptionPane.ERROR_MESSAGE );
- }
- } else
- {
- JOptionPane.showMessageDialog(null,"Ievadīti nepareizi dati! Lūdzu, pārvadiet datus.", name, JOptionPane.ERROR_MESSAGE );
- }
- }
- });
- frame.add(panel); //Pievieno paneli
- frame.setSize(500, 500); //Programmas lielums pikseļos.
- frame.setResizable(false); //Rāmi nevar palielināt, vai samazināt.
- frame.setTitle("Kursa darbs. Austris Baumanis");//virsraksts
- frame.setVisible(true); //parāda ka ir redzams
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment