1. Rafał Selewońko
  2. SelerShop

Commits

Rafał Selewońko  committed 2d1046d

początek

  • Participants
  • Branches default

Comments (0)

Files changed (32)

File .hgignore

View file
+syntax: regexp
+^nbproject/
+^build/
+^dist/
+^src/META-INF/
+^build.xml$
+^manifest.mf$

File src/selershop/NewClass.java

View file
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package selershop;
+
+/**
+ *
+ * @author Seler
+ */
+public class NewClass {
+    
+}

File src/selershop/Plotno.form

View file
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <Properties>
+    <Property name="name" type="java.lang.String" value="Form" noResource="true"/>
+  </Properties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="2"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <EmptySpace min="0" pref="400" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <EmptySpace min="0" pref="300" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+</Form>

File src/selershop/Plotno.java

View file
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/*
+ * Plotno.java
+ *
+ * Created on 2011-06-02, 19:04:32
+ */
+package selershop;
+
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+import java.awt.image.ConvolveOp;
+import java.awt.image.Kernel;
+import java.io.File;
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.imageio.ImageIO;
+import javax.swing.JFileChooser;
+import javax.swing.filechooser.FileNameExtensionFilter;
+import java.awt.image.RescaleOp;
+/**
+ *
+ * @author Seler
+ */
+public class Plotno extends javax.swing.JPanel {
+    File plik;
+    BufferedImage obrazek;
+    int typ;
+    /** Creates new form Plotno */
+    public Plotno() {
+        obrazek = null;
+        plik = null;
+        setSize(800, 800);
+        initComponents();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        setName("Form"); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 400, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 300, Short.MAX_VALUE)
+        );
+    }// </editor-fold>//GEN-END:initComponents
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    // End of variables declaration//GEN-END:variables
+    @Override
+    public void paint(Graphics g)
+    {
+        if (obrazek != null) {
+            g.drawImage(obrazek, 0, 0, obrazek.getWidth(), obrazek.getHeight() , null);
+        }
+    }
+    
+    public void Otworz() throws IOException{
+            JFileChooser chooser = new JFileChooser();
+            FileNameExtensionFilter filtr = new FileNameExtensionFilter("Pliki *.jpg *.png","jpg", "jpeg", "png");
+            chooser.setFileFilter(filtr);
+            int wynik = chooser.showOpenDialog(this);        
+            if (wynik == JFileChooser.APPROVE_OPTION) {
+                plik = chooser.getSelectedFile();
+                obrazek = ImageIO.read(plik);
+                typ = obrazek.getType();
+                if (plik != null) {
+                    this.setSize(obrazek.getWidth(), obrazek.getHeight());
+                }
+            }
+        repaint();
+    }
+    
+    public void Resetuj() throws IOException
+    {
+        obrazek = ImageIO.read(plik);
+        repaint();
+    }
+    public void Zapisz() throws IOException
+    {
+        JFileChooser chooser = new JFileChooser();
+        FileNameExtensionFilter filtr = new FileNameExtensionFilter("Pliki *.jpg *.png","jpg", "jpeg", "png");
+        chooser.setFileFilter(filtr);
+        chooser.showSaveDialog(this);
+        String sciezka = chooser.getSelectedFile().toString();
+        if (sciezka.contains(".jpg") || sciezka.contains(".jpeg"))
+            ImageIO.write(obrazek, "jpg", new File(sciezka));
+        else if (sciezka.contains(".png"))
+            ImageIO.write(obrazek, "png", new File(sciezka));
+        else {
+            switch (typ)
+            {
+                case 5: sciezka += ".jpg";
+                        ImageIO.write(obrazek, "jpg", new File(sciezka));
+                        break;
+                case 6: sciezka += ".png";
+                        ImageIO.write(obrazek, "png", new File(sciezka));
+                        break;
+            }
+        }
+    }
+    
+    public void Punkt(Float a, Float b){
+        RescaleOp op = new RescaleOp(a, b, null);
+        BufferedImage nowy_obrazek = new BufferedImage(obrazek.getWidth(), obrazek.getHeight(), obrazek.getType());
+        op.filter(obrazek, nowy_obrazek);
+        obrazek = nowy_obrazek;
+        repaint();
+    }
+    
+    public void Splot(float[] matrix, int rozmiar)
+    {
+        Kernel kernel = new Kernel(rozmiar, rozmiar, matrix);
+        ConvolveOp op = new ConvolveOp(kernel);
+        BufferedImage nowy_obrazek = new BufferedImage(obrazek.getWidth(), obrazek.getHeight(), obrazek.getType());
+        op.filter(obrazek, nowy_obrazek);
+        obrazek = nowy_obrazek;
+        repaint();
+    }
+}

File src/selershop/SelerShopAboutBox.form

View file
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
+  <Properties>
+    <Property name="defaultCloseOperation" type="int" value="2"/>
+    <Property name="title" type="java.lang.String" resourceKey="title"/>
+    <Property name="modal" type="boolean" value="true"/>
+    <Property name="name" type="java.lang.String" value="aboutBox" noResource="true"/>
+    <Property name="resizable" type="boolean" value="false"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+  </SyntheticProperties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="2"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="imageLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="separate" min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="1" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="versionLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="vendorLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="homepageLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace min="-2" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="appVersionLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="appVendorLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="appHomepageLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Component id="appTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="appDescLabel" alignment="0" pref="270" max="32767" attributes="0"/>
+                  <Component id="closeButton" alignment="1" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="imageLabel" min="-2" max="32767" attributes="0"/>
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="appTitleLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Component id="appDescLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="versionLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="appVersionLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="vendorLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="appVendorLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="homepageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="appHomepageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace pref="33" max="32767" attributes="0"/>
+              <Component id="closeButton" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JButton" name="closeButton">
+      <Properties>
+        <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
+          <action class="selershop.SelerShopAboutBox" id="closeAboutBox" methodName="closeAboutBox"/>
+        </Property>
+        <Property name="name" type="java.lang.String" value="closeButton" noResource="true"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="appTitleLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" noResource="true" editor="org.netbeans.modules.form.editors2.FontEditor">
+          <FontInfo relative="true">
+            <Font bold="true" component="appTitleLabel" property="font" relativeSize="true" size="4"/>
+          </FontInfo>
+        </Property>
+        <Property name="text" type="java.lang.String" resourceKey="Application.title"/>
+        <Property name="name" type="java.lang.String" value="appTitleLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="versionLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" noResource="true" editor="org.netbeans.modules.form.editors2.FontEditor">
+          <FontInfo relative="true">
+            <Font bold="true" component="versionLabel" property="font" relativeSize="true" size="0"/>
+          </FontInfo>
+        </Property>
+        <Property name="text" type="java.lang.String" resourceKey="versionLabel.text"/>
+        <Property name="name" type="java.lang.String" value="versionLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="appVersionLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" resourceKey="Application.version"/>
+        <Property name="name" type="java.lang.String" value="appVersionLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="vendorLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" noResource="true" editor="org.netbeans.modules.form.editors2.FontEditor">
+          <FontInfo relative="true">
+            <Font bold="true" component="vendorLabel" property="font" relativeSize="true" size="0"/>
+          </FontInfo>
+        </Property>
+        <Property name="text" type="java.lang.String" resourceKey="vendorLabel.text"/>
+        <Property name="name" type="java.lang.String" value="vendorLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="appVendorLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" resourceKey="Application.vendor"/>
+        <Property name="name" type="java.lang.String" value="appVendorLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="homepageLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" noResource="true" editor="org.netbeans.modules.form.editors2.FontEditor">
+          <FontInfo relative="true">
+            <Font bold="true" component="homepageLabel" property="font" relativeSize="true" size="0"/>
+          </FontInfo>
+        </Property>
+        <Property name="text" type="java.lang.String" resourceKey="homepageLabel.text"/>
+        <Property name="name" type="java.lang.String" value="homepageLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="appHomepageLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" resourceKey="Application.homepage"/>
+        <Property name="name" type="java.lang.String" value="appHomepageLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="appDescLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" resourceKey="appDescLabel.text"/>
+        <Property name="name" type="java.lang.String" value="appDescLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imageLabel">
+      <Properties>
+        <Property name="icon" type="javax.swing.Icon" resourceKey="imageLabel.icon"/>
+        <Property name="name" type="java.lang.String" value="imageLabel" noResource="true"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+      </AuxValues>
+    </Component>
+  </SubComponents>
+</Form>

File src/selershop/SelerShopAboutBox.java

View file
+/*
+ * SelerShopAboutBox.java
+ */
+
+package selershop;
+
+import org.jdesktop.application.Action;
+
+public class SelerShopAboutBox extends javax.swing.JDialog {
+
+    public SelerShopAboutBox(java.awt.Frame parent) {
+        super(parent);
+        initComponents();
+        getRootPane().setDefaultButton(closeButton);
+    }
+
+    @Action public void closeAboutBox() {
+        dispose();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        closeButton = new javax.swing.JButton();
+        javax.swing.JLabel appTitleLabel = new javax.swing.JLabel();
+        javax.swing.JLabel versionLabel = new javax.swing.JLabel();
+        javax.swing.JLabel appVersionLabel = new javax.swing.JLabel();
+        javax.swing.JLabel vendorLabel = new javax.swing.JLabel();
+        javax.swing.JLabel appVendorLabel = new javax.swing.JLabel();
+        javax.swing.JLabel homepageLabel = new javax.swing.JLabel();
+        javax.swing.JLabel appHomepageLabel = new javax.swing.JLabel();
+        javax.swing.JLabel appDescLabel = new javax.swing.JLabel();
+        javax.swing.JLabel imageLabel = new javax.swing.JLabel();
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
+        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(selershop.SelerShopApp.class).getContext().getResourceMap(SelerShopAboutBox.class);
+        setTitle(resourceMap.getString("title")); // NOI18N
+        setModal(true);
+        setName("aboutBox"); // NOI18N
+        setResizable(false);
+
+        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(selershop.SelerShopApp.class).getContext().getActionMap(SelerShopAboutBox.class, this);
+        closeButton.setAction(actionMap.get("closeAboutBox")); // NOI18N
+        closeButton.setName("closeButton"); // NOI18N
+
+        appTitleLabel.setFont(appTitleLabel.getFont().deriveFont(appTitleLabel.getFont().getStyle() | java.awt.Font.BOLD, appTitleLabel.getFont().getSize()+4));
+        appTitleLabel.setText(resourceMap.getString("Application.title")); // NOI18N
+        appTitleLabel.setName("appTitleLabel"); // NOI18N
+
+        versionLabel.setFont(versionLabel.getFont().deriveFont(versionLabel.getFont().getStyle() | java.awt.Font.BOLD));
+        versionLabel.setText(resourceMap.getString("versionLabel.text")); // NOI18N
+        versionLabel.setName("versionLabel"); // NOI18N
+
+        appVersionLabel.setText(resourceMap.getString("Application.version")); // NOI18N
+        appVersionLabel.setName("appVersionLabel"); // NOI18N
+
+        vendorLabel.setFont(vendorLabel.getFont().deriveFont(vendorLabel.getFont().getStyle() | java.awt.Font.BOLD));
+        vendorLabel.setText(resourceMap.getString("vendorLabel.text")); // NOI18N
+        vendorLabel.setName("vendorLabel"); // NOI18N
+
+        appVendorLabel.setText(resourceMap.getString("Application.vendor")); // NOI18N
+        appVendorLabel.setName("appVendorLabel"); // NOI18N
+
+        homepageLabel.setFont(homepageLabel.getFont().deriveFont(homepageLabel.getFont().getStyle() | java.awt.Font.BOLD));
+        homepageLabel.setText(resourceMap.getString("homepageLabel.text")); // NOI18N
+        homepageLabel.setName("homepageLabel"); // NOI18N
+
+        appHomepageLabel.setText(resourceMap.getString("Application.homepage")); // NOI18N
+        appHomepageLabel.setName("appHomepageLabel"); // NOI18N
+
+        appDescLabel.setText(resourceMap.getString("appDescLabel.text")); // NOI18N
+        appDescLabel.setName("appDescLabel"); // NOI18N
+
+        imageLabel.setIcon(resourceMap.getIcon("imageLabel.icon")); // NOI18N
+        imageLabel.setName("imageLabel"); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(imageLabel)
+                .addGap(18, 18, 18)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(versionLabel)
+                            .addComponent(vendorLabel)
+                            .addComponent(homepageLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(appVersionLabel)
+                            .addComponent(appVendorLabel)
+                            .addComponent(appHomepageLabel)))
+                    .addComponent(appTitleLabel, javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(appDescLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 270, Short.MAX_VALUE)
+                    .addComponent(closeButton))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(imageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(appTitleLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(appDescLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(versionLabel)
+                    .addComponent(appVersionLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(vendorLabel)
+                    .addComponent(appVendorLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(homepageLabel)
+                    .addComponent(appHomepageLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 33, Short.MAX_VALUE)
+                .addComponent(closeButton)
+                .addContainerGap())
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton closeButton;
+    // End of variables declaration//GEN-END:variables
+    
+}

File src/selershop/SelerShopApp.java

View file
+/*
+ * SelerShopApp.java
+ */
+
+package selershop;
+
+import org.jdesktop.application.Application;
+import org.jdesktop.application.SingleFrameApplication;
+
+/**
+ * The main class of the application.
+ */
+public class SelerShopApp extends SingleFrameApplication {
+
+    /**
+     * At startup create and show the main frame of the application.
+     */
+    @Override protected void startup() {
+        show(new SelerShopView(this));
+    }
+
+    /**
+     * This method is to initialize the specified window by injecting resources.
+     * Windows shown in our application come fully initialized from the GUI
+     * builder, so this additional configuration is not needed.
+     */
+    @Override protected void configureWindow(java.awt.Window root) {
+    }
+
+    /**
+     * A convenient static getter for the application instance.
+     * @return the instance of SelerShopApp
+     */
+    public static SelerShopApp getApplication() {
+        return Application.getInstance(SelerShopApp.class);
+    }
+
+    /**
+     * Main method launching the application.
+     */
+    public static void main(String[] args) {
+        launch(SelerShopApp.class, args);
+    }
+}

File src/selershop/SelerShopView.form

View file
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7">
+  <NonVisualComponents>
+    <Container class="javax.swing.JPanel" name="mainPanel">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="mainPanel" noResource="true"/>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Component id="jScrollPane" alignment="0" pref="400" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Component id="jScrollPane" alignment="0" pref="254" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Container class="javax.swing.JScrollPane" name="jScrollPane">
+          <Properties>
+            <Property name="name" type="java.lang.String" value="jScrollPane" noResource="true"/>
+          </Properties>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+          <SubComponents>
+            <Container class="selershop.Plotno" name="plotno">
+              <Properties>
+                <Property name="name" type="java.lang.String" value="plotno" noResource="true"/>
+              </Properties>
+
+              <Layout>
+                <DimensionLayout dim="0">
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <EmptySpace min="0" pref="398" max="32767" attributes="0"/>
+                  </Group>
+                </DimensionLayout>
+                <DimensionLayout dim="1">
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <EmptySpace min="0" pref="252" max="32767" attributes="0"/>
+                  </Group>
+                </DimensionLayout>
+              </Layout>
+            </Container>
+          </SubComponents>
+        </Container>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JMenuBar" name="menuBar">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="menuBar" noResource="true"/>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
+        <Property name="useNullLayout" type="boolean" value="true"/>
+      </Layout>
+      <SubComponents>
+        <Menu class="javax.swing.JMenu" name="fileMenu">
+          <Properties>
+            <Property name="text" type="java.lang.String" resourceKey="fileMenu.text"/>
+            <Property name="name" type="java.lang.String" value="fileMenu" noResource="true"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+          </AuxValues>
+          <SubComponents>
+            <MenuItem class="javax.swing.JMenuItem" name="otworz">
+              <Properties>
+                <Property name="accelerator" type="javax.swing.KeyStroke" editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+                  <KeyStroke key="Ctrl+O"/>
+                </Property>
+                <Property name="text" type="java.lang.String" resourceKey="otworz.text"/>
+                <Property name="name" type="java.lang.String" value="otworz" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="otworzActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="zapisz">
+              <Properties>
+                <Property name="accelerator" type="javax.swing.KeyStroke" editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+                  <KeyStroke key="Ctrl+S"/>
+                </Property>
+                <Property name="text" type="java.lang.String" resourceKey="zapisz.text"/>
+                <Property name="name" type="java.lang.String" value="zapisz" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="zapiszActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="resetuj">
+              <Properties>
+                <Property name="accelerator" type="javax.swing.KeyStroke" editor="org.netbeans.modules.form.editors.KeyStrokeEditor">
+                  <KeyStroke key="Ctrl+R"/>
+                </Property>
+                <Property name="text" type="java.lang.String" resourceKey="resetuj.text"/>
+                <Property name="name" type="java.lang.String" value="resetuj" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="resetujActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="exitMenuItem">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
+                  <action class="org.jdesktop.application.Application" id="quit" methodName="quit"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="exitMenuItem" noResource="true"/>
+              </Properties>
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+                <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+              </AuxValues>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="jMenu1">
+          <Properties>
+            <Property name="text" type="java.lang.String" resourceKey="jMenu1.text"/>
+            <Property name="name" type="java.lang.String" value="jMenu1" noResource="true"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JMenuItem" name="dodawanie">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="dodawanie.text"/>
+                <Property name="name" type="java.lang.String" value="dodawanie" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dodawanieActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="mnozenie">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="mnozenie.text"/>
+                <Property name="name" type="java.lang.String" value="mnozenie" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mnozenieActionPerformed"/>
+              </Events>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="jMenu2">
+          <Properties>
+            <Property name="text" type="java.lang.String" resourceKey="jMenu2.text"/>
+            <Property name="name" type="java.lang.String" value="jMenu2" noResource="true"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JMenuItem" name="usredniajacy">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="usredniajacy.text"/>
+                <Property name="name" type="java.lang.String" value="usredniajacy" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="usredniajacyActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="lp2">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="lp2.text"/>
+                <Property name="name" type="java.lang.String" value="lp2" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="lp2ActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="gauss">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="gauss.text"/>
+                <Property name="name" type="java.lang.String" value="gauss" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="gaussActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator1">
+              <Properties>
+                <Property name="name" type="java.lang.String" value="jSeparator1" noResource="true"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="gorny1">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="gorny1.text"/>
+                <Property name="name" type="java.lang.String" value="gorny1" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="gorny1ActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="gorny2">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="gorny2.text"/>
+                <Property name="name" type="java.lang.String" value="gorny2" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="gorny2ActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="gorny3">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="gorny3.text"/>
+                <Property name="name" type="java.lang.String" value="gorny3" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="gorny3ActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator2">
+              <Properties>
+                <Property name="name" type="java.lang.String" value="jSeparator2" noResource="true"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="krawedziePoziomy">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="krawedziePoziomy.text"/>
+                <Property name="name" type="java.lang.String" value="krawedziePoziomy" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="krawedziePoziomyActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="krawedziePionowy">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="krawedziePionowy.text"/>
+                <Property name="name" type="java.lang.String" value="krawedziePionowy" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="krawedziePionowyActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="laplacian">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="laplacian.text"/>
+                <Property name="name" type="java.lang.String" value="laplacian" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="laplacianActionPerformed"/>
+              </Events>
+            </MenuItem>
+            <MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator3">
+              <Properties>
+                <Property name="name" type="java.lang.String" value="jSeparator3" noResource="true"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="stiffness">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="stiffness.text"/>
+                <Property name="name" type="java.lang.String" value="stiffness" noResource="true"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="stiffnessActionPerformed"/>
+              </Events>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="jMenu3">
+          <Properties>
+            <Property name="text" type="java.lang.String" resourceKey="jMenu3.text"/>
+            <Property name="name" type="java.lang.String" value="jMenu3" noResource="true"/>
+          </Properties>
+          <SubComponents>
+            <MenuItem class="javax.swing.JMenuItem" name="jMenuItem5">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="jMenuItem5.text"/>
+                <Property name="name" type="java.lang.String" value="jMenuItem5" noResource="true"/>
+              </Properties>
+            </MenuItem>
+            <MenuItem class="javax.swing.JMenuItem" name="jMenuItem6">
+              <Properties>
+                <Property name="text" type="java.lang.String" resourceKey="jMenuItem6.text"/>
+                <Property name="name" type="java.lang.String" value="jMenuItem6" noResource="true"/>
+              </Properties>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="jMenu4">
+          <Properties>
+            <Property name="text" type="java.lang.String" resourceKey="jMenu4.text"/>
+            <Property name="name" type="java.lang.String" value="jMenu4" noResource="true"/>
+          </Properties>
+        </Menu>
+        <Menu class="javax.swing.JMenu" name="helpMenu">
+          <Properties>
+            <Property name="text" type="java.lang.String" resourceKey="helpMenu.text"/>
+            <Property name="name" type="java.lang.String" value="helpMenu" noResource="true"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+          </AuxValues>
+          <SubComponents>
+            <MenuItem class="javax.swing.JMenuItem" name="aboutMenuItem">
+              <Properties>
+                <Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
+                  <action class="selershop.SelerShopView" id="showAboutBox" methodName="showAboutBox"/>
+                </Property>
+                <Property name="name" type="java.lang.String" value="aboutMenuItem" noResource="true"/>
+              </Properties>
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+                <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+              </AuxValues>
+            </MenuItem>
+          </SubComponents>
+        </Menu>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="statusPanel">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="statusPanel" noResource="true"/>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Component id="statusPanelSeparator" alignment="0" pref="400" max="32767" attributes="0"/>
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="statusMessageLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace pref="230" max="32767" attributes="0"/>
+                  <Component id="progressBar" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="statusAnimationLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <Component id="statusPanelSeparator" min="-2" pref="2" max="-2" attributes="0"/>
+                  <EmptySpace max="32767" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="statusMessageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="statusAnimationLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="progressBar" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace min="-2" pref="3" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JSeparator" name="statusPanelSeparator">
+          <Properties>
+            <Property name="name" type="java.lang.String" value="statusPanelSeparator" noResource="true"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
+          </AuxValues>
+        </Component>
+        <Component class="javax.swing.JLabel" name="statusMessageLabel">
+          <Properties>
+            <Property name="name" type="java.lang.String" value="statusMessageLabel" noResource="true"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="false"/>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="2"/>
+          </AuxValues>
+        </Component>
+        <Component class="javax.swing.JLabel" name="statusAnimationLabel">
+          <Properties>
+            <Property name="horizontalAlignment" type="int" value="2"/>
+            <Property name="name" type="java.lang.String" value="statusAnimationLabel" noResource="true"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="false"/>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="2"/>
+          </AuxValues>
+        </Component>
+        <Component class="javax.swing.JProgressBar" name="progressBar">
+          <Properties>
+            <Property name="name" type="java.lang.String" value="progressBar" noResource="true"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="false"/>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="2"/>
+          </AuxValues>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JDialog" name="jDialog1">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="jDialog1" noResource="true"/>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="400" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="300" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+    </Container>
+    <Container class="javax.swing.JDialog" name="jDialog2">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="jDialog2" noResource="true"/>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="400" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="300" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+    </Container>
+    <Menu class="java.awt.PopupMenu" name="popupMenu1">
+      <Properties>
+        <Property name="label" type="java.lang.String" resourceKey="popupMenu1.label"/>
+      </Properties>
+    </Menu>
+    <Container class="javax.swing.JDialog" name="jDialog3">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="jDialog3" noResource="true"/>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="400" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="300" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+    </Container>
+    <Container class="javax.swing.JDialog" name="jDialog4">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="jDialog4" noResource="true"/>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="400" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="300" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+    </Container>
+    <Menu class="java.awt.PopupMenu" name="popupMenu2">
+      <Properties>
+        <Property name="label" type="java.lang.String" resourceKey="popupMenu2.label"/>
+      </Properties>
+    </Menu>
+  </NonVisualComponents>
+  <Properties>
+    <Property name="component" type="javax.swing.JComponent" editor="org.netbeans.modules.form.ComponentChooserEditor">
+      <ComponentRef name="mainPanel"/>
+    </Property>
+    <Property name="menuBar" type="javax.swing.JMenuBar" editor="org.netbeans.modules.form.ComponentChooserEditor">
+      <ComponentRef name="menuBar"/>
+    </Property>
+    <Property name="statusBar" type="javax.swing.JComponent" editor="org.netbeans.modules.form.ComponentChooserEditor">
+      <ComponentRef name="statusPanel"/>
+    </Property>
+  </Properties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="2"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
+  </AuxValues>
+</Form>

File src/selershop/SelerShopView.java

View file
+/*
+ * SelerShopView.java
+ */
+
+package selershop;
+
+import org.jdesktop.application.Action;
+import org.jdesktop.application.ResourceMap;
+import org.jdesktop.application.SingleFrameApplication;
+import org.jdesktop.application.FrameView;
+import org.jdesktop.application.TaskMonitor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.imageio.ImageIO;
+import javax.swing.Timer;
+import javax.swing.Icon;
+import javax.swing.JDialog;
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+import javax.swing.filechooser.FileNameExtensionFilter;
+import selershop.Plotno;
+
+/**
+ * The application's main frame.
+ */
+public class SelerShopView extends FrameView {
+    
+    public SelerShopView(SingleFrameApplication app) {
+        super(app);
+
+        initComponents();
+
+        // status bar initialization - message timeout, idle icon and busy animation, etc
+        ResourceMap resourceMap = getResourceMap();
+        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
+        messageTimer = new Timer(messageTimeout, new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                statusMessageLabel.setText("");
+            }
+        });
+        messageTimer.setRepeats(false);
+        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
+        for (int i = 0; i < busyIcons.length; i++) {
+            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
+        }
+        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
+                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
+            }
+        });
+        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
+        statusAnimationLabel.setIcon(idleIcon);
+        progressBar.setVisible(false);
+
+        // connecting action tasks to status bar via TaskMonitor
+        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
+        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                String propertyName = evt.getPropertyName();
+                if ("started".equals(propertyName)) {
+                    if (!busyIconTimer.isRunning()) {
+                        statusAnimationLabel.setIcon(busyIcons[0]);
+                        busyIconIndex = 0;
+                        busyIconTimer.start();
+                    }
+                    progressBar.setVisible(true);
+                    progressBar.setIndeterminate(true);
+                } else if ("done".equals(propertyName)) {
+                    busyIconTimer.stop();
+                    statusAnimationLabel.setIcon(idleIcon);
+                    progressBar.setVisible(false);
+                    progressBar.setValue(0);
+                } else if ("message".equals(propertyName)) {
+                    String text = (String)(evt.getNewValue());
+                    statusMessageLabel.setText((text == null) ? "" : text);
+                    messageTimer.restart();
+                } else if ("progress".equals(propertyName)) {
+                    int value = (Integer)(evt.getNewValue());
+                    progressBar.setVisible(true);
+                    progressBar.setIndeterminate(false);
+                    progressBar.setValue(value);
+                }
+            }
+        });
+    }
+
+    @Action
+    public void showAboutBox() {
+        /*if (aboutBox == null) {
+            JFrame mainFrame = SelerShopApp.getApplication().getMainFrame();
+            aboutBox = new SelerShopAboutBox(mainFrame);
+            aboutBox.setLocationRelativeTo(mainFrame);
+        }
+        SelerShopApp.getApplication().show(aboutBox);*/
+    }
+    
+    public boolean pobierzWartosc() {
+        String wartosc_str = JOptionPane.showInputDialog(null, "Wpisz wartość : ", "SelerShop - Wpisz wartość", 1);
+        try { wartosc = new Float(wartosc_str);
+        } catch (NumberFormatException ex) {
+            JOptionPane.showMessageDialog(null, "Pomyśl zanim wpiszesz! " + wartosc_str + " to nie liczba.", "SelerShop", 1);
+        }
+        if(wartosc_str != null) {
+            // pobrano
+            return true;
+        }
+        else {
+            // niepobrano
+            return false;
+        }
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        mainPanel = new javax.swing.JPanel();
+        jScrollPane = new javax.swing.JScrollPane();
+        plotno = new selershop.Plotno();
+        menuBar = new javax.swing.JMenuBar();
+        javax.swing.JMenu fileMenu = new javax.swing.JMenu();
+        otworz = new javax.swing.JMenuItem();
+        zapisz = new javax.swing.JMenuItem();
+        resetuj = new javax.swing.JMenuItem();
+        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
+        jMenu1 = new javax.swing.JMenu();
+        dodawanie = new javax.swing.JMenuItem();
+        mnozenie = new javax.swing.JMenuItem();
+        jMenu2 = new javax.swing.JMenu();
+        usredniajacy = new javax.swing.JMenuItem();
+        lp2 = new javax.swing.JMenuItem();
+        gauss = new javax.swing.JMenuItem();
+        jSeparator1 = new javax.swing.JPopupMenu.Separator();
+        gorny1 = new javax.swing.JMenuItem();
+        gorny2 = new javax.swing.JMenuItem();
+        gorny3 = new javax.swing.JMenuItem();
+        jSeparator2 = new javax.swing.JPopupMenu.Separator();
+        krawedziePoziomy = new javax.swing.JMenuItem();
+        krawedziePionowy = new javax.swing.JMenuItem();
+        laplacian = new javax.swing.JMenuItem();
+        jSeparator3 = new javax.swing.JPopupMenu.Separator();
+        stiffness = new javax.swing.JMenuItem();
+        jMenu3 = new javax.swing.JMenu();
+        jMenuItem5 = new javax.swing.JMenuItem();
+        jMenuItem6 = new javax.swing.JMenuItem();
+        jMenu4 = new javax.swing.JMenu();
+        javax.swing.JMenu helpMenu = new javax.swing.JMenu();
+        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
+        statusPanel = new javax.swing.JPanel();
+        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
+        statusMessageLabel = new javax.swing.JLabel();
+        statusAnimationLabel = new javax.swing.JLabel();
+        progressBar = new javax.swing.JProgressBar();
+        jDialog1 = new javax.swing.JDialog();
+        jDialog2 = new javax.swing.JDialog();
+        popupMenu1 = new java.awt.PopupMenu();
+        jDialog3 = new javax.swing.JDialog();
+        jDialog4 = new javax.swing.JDialog();
+        popupMenu2 = new java.awt.PopupMenu();
+
+        mainPanel.setName("mainPanel"); // NOI18N
+
+        jScrollPane.setName("jScrollPane"); // NOI18N
+
+        plotno.setName("plotno"); // NOI18N
+
+        javax.swing.GroupLayout plotnoLayout = new javax.swing.GroupLayout(plotno);
+        plotno.setLayout(plotnoLayout);
+        plotnoLayout.setHorizontalGroup(
+            plotnoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 398, Short.MAX_VALUE)
+        );
+        plotnoLayout.setVerticalGroup(
+            plotnoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 252, Short.MAX_VALUE)
+        );
+
+        jScrollPane.setViewportView(plotno);
+
+        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
+        mainPanel.setLayout(mainPanelLayout);
+        mainPanelLayout.setHorizontalGroup(
+            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(jScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
+        );
+        mainPanelLayout.setVerticalGroup(
+            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(jScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 254, Short.MAX_VALUE)
+        );
+
+        menuBar.setName("menuBar"); // NOI18N
+
+        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(selershop.SelerShopApp.class).getContext().getResourceMap(SelerShopView.class);
+        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
+        fileMenu.setName("fileMenu"); // NOI18N
+
+        otworz.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
+        otworz.setText(resourceMap.getString("otworz.text")); // NOI18N
+        otworz.setName("otworz"); // NOI18N
+        otworz.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                otworzActionPerformed(evt);
+            }
+        });
+        fileMenu.add(otworz);
+
+        zapisz.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
+        zapisz.setText(resourceMap.getString("zapisz.text")); // NOI18N
+        zapisz.setName("zapisz"); // NOI18N
+        zapisz.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                zapiszActionPerformed(evt);
+            }
+        });
+        fileMenu.add(zapisz);
+
+        resetuj.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));
+        resetuj.setText(resourceMap.getString("resetuj.text")); // NOI18N
+        resetuj.setName("resetuj"); // NOI18N
+        resetuj.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                resetujActionPerformed(evt);
+            }
+        });
+        fileMenu.add(resetuj);
+
+        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(selershop.SelerShopApp.class).getContext().getActionMap(SelerShopView.class, this);
+        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
+        exitMenuItem.setName("exitMenuItem"); // NOI18N
+        fileMenu.add(exitMenuItem);
+
+        menuBar.add(fileMenu);
+
+        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
+        jMenu1.setName("jMenu1"); // NOI18N
+
+        dodawanie.setText(resourceMap.getString("dodawanie.text")); // NOI18N
+        dodawanie.setName("dodawanie"); // NOI18N
+        dodawanie.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                dodawanieActionPerformed(evt);
+            }
+        });
+        jMenu1.add(dodawanie);
+
+        mnozenie.setText(resourceMap.getString("mnozenie.text")); // NOI18N
+        mnozenie.setName("mnozenie"); // NOI18N
+        mnozenie.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                mnozenieActionPerformed(evt);
+            }
+        });
+        jMenu1.add(mnozenie);
+
+        menuBar.add(jMenu1);
+
+        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
+        jMenu2.setName("jMenu2"); // NOI18N
+
+        usredniajacy.setText(resourceMap.getString("usredniajacy.text")); // NOI18N
+        usredniajacy.setName("usredniajacy"); // NOI18N
+        usredniajacy.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                usredniajacyActionPerformed(evt);
+            }
+        });
+        jMenu2.add(usredniajacy);
+
+        lp2.setText(resourceMap.getString("lp2.text")); // NOI18N
+        lp2.setName("lp2"); // NOI18N
+        lp2.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                lp2ActionPerformed(evt);
+            }
+        });
+        jMenu2.add(lp2);
+
+        gauss.setText(resourceMap.getString("gauss.text")); // NOI18N
+        gauss.setName("gauss"); // NOI18N
+        gauss.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                gaussActionPerformed(evt);
+            }
+        });
+        jMenu2.add(gauss);
+
+        jSeparator1.setName("jSeparator1"); // NOI18N
+        jMenu2.add(jSeparator1);
+
+        gorny1.setText(resourceMap.getString("gorny1.text")); // NOI18N
+        gorny1.setName("gorny1"); // NOI18N
+        gorny1.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                gorny1ActionPerformed(evt);
+            }
+        });
+        jMenu2.add(gorny1);
+
+        gorny2.setText(resourceMap.getString("gorny2.text")); // NOI18N
+        gorny2.setName("gorny2"); // NOI18N
+        gorny2.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                gorny2ActionPerformed(evt);
+            }
+        });
+        jMenu2.add(gorny2);
+
+        gorny3.setText(resourceMap.getString("gorny3.text")); // NOI18N
+        gorny3.setName("gorny3"); // NOI18N
+        gorny3.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                gorny3ActionPerformed(evt);
+            }
+        });
+        jMenu2.add(gorny3);
+
+        jSeparator2.setName("jSeparator2"); // NOI18N
+        jMenu2.add(jSeparator2);
+
+        krawedziePoziomy.setText(resourceMap.getString("krawedziePoziomy.text")); // NOI18N
+        krawedziePoziomy.setName("krawedziePoziomy"); // NOI18N
+        krawedziePoziomy.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                krawedziePoziomyActionPerformed(evt);
+            }
+        });
+        jMenu2.add(krawedziePoziomy);
+
+        krawedziePionowy.setText(resourceMap.getString("krawedziePionowy.text")); // NOI18N
+        krawedziePionowy.setName("krawedziePionowy"); // NOI18N
+        krawedziePionowy.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                krawedziePionowyActionPerformed(evt);
+            }
+        });
+        jMenu2.add(krawedziePionowy);
+
+        laplacian.setText(resourceMap.getString("laplacian.text")); // NOI18N
+        laplacian.setName("laplacian"); // NOI18N
+        laplacian.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                laplacianActionPerformed(evt);
+            }
+        });
+        jMenu2.add(laplacian);
+
+        jSeparator3.setName("jSeparator3"); // NOI18N
+        jMenu2.add(jSeparator3);
+
+        stiffness.setText(resourceMap.getString("stiffness.text")); // NOI18N
+        stiffness.setName("stiffness"); // NOI18N
+        stiffness.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                stiffnessActionPerformed(evt);
+            }
+        });
+        jMenu2.add(stiffness);
+
+        menuBar.add(jMenu2);
+
+        jMenu3.setText(resourceMap.getString("jMenu3.text")); // NOI18N
+        jMenu3.setName("jMenu3"); // NOI18N
+
+        jMenuItem5.setText(resourceMap.getString("jMenuItem5.text")); // NOI18N
+        jMenuItem5.setName("jMenuItem5"); // NOI18N
+        jMenu3.add(jMenuItem5);
+
+        jMenuItem6.setText(resourceMap.getString("jMenuItem6.text")); // NOI18N
+        jMenuItem6.setName("jMenuItem6"); // NOI18N
+        jMenu3.add(jMenuItem6);
+
+        menuBar.add(jMenu3);
+
+        jMenu4.setText(resourceMap.getString("jMenu4.text")); // NOI18N
+        jMenu4.setName("jMenu4"); // NOI18N
+        menuBar.add(jMenu4);
+
+        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
+        helpMenu.setName("helpMenu"); // NOI18N
+
+        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
+        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
+        helpMenu.add(aboutMenuItem);
+
+        menuBar.add(helpMenu);
+
+        statusPanel.setName("statusPanel"); // NOI18N
+
+        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
+
+        statusMessageLabel.setName("statusMessageLabel"); // NOI18N
+
+        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
+        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
+
+        progressBar.setName("progressBar"); // NOI18N
+
+        javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
+        statusPanel.setLayout(statusPanelLayout);
+        statusPanelLayout.setHorizontalGroup(
+            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
+            .addGroup(statusPanelLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(statusMessageLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 230, Short.MAX_VALUE)
+                .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(statusAnimationLabel)
+                .addContainerGap())
+        );
+        statusPanelLayout.setVerticalGroup(
+            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(statusPanelLayout.createSequentialGroup()
+                .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(statusMessageLabel)
+                    .addComponent(statusAnimationLabel)
+                    .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(3, 3, 3))
+        );
+
+        jDialog1.setName("jDialog1"); // NOI18N
+
+        javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
+        jDialog1.getContentPane().setLayout(jDialog1Layout);
+        jDialog1Layout.setHorizontalGroup(
+            jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 400, Short.MAX_VALUE)
+        );
+        jDialog1Layout.setVerticalGroup(
+            jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 300, Short.MAX_VALUE)
+        );
+
+        jDialog2.setName("jDialog2"); // NOI18N
+
+        javax.swing.GroupLayout jDialog2Layout = new javax.swing.GroupLayout(jDialog2.getContentPane());
+        jDialog2.getContentPane().setLayout(jDialog2Layout);
+        jDialog2Layout.setHorizontalGroup(
+            jDialog2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 400, Short.MAX_VALUE)
+        );
+        jDialog2Layout.setVerticalGroup(
+            jDialog2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 300, Short.MAX_VALUE)
+        );
+
+        popupMenu1.setLabel(resourceMap.getString("popupMenu1.label")); // NOI18N
+
+        jDialog3.setName("jDialog3"); // NOI18N
+
+        javax.swing.GroupLayout jDialog3Layout = new javax.swing.GroupLayout(jDialog3.getContentPane());
+        jDialog3.getContentPane().setLayout(jDialog3Layout);
+        jDialog3Layout.setHorizontalGroup(
+            jDialog3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 400, Short.MAX_VALUE)
+        );
+        jDialog3Layout.setVerticalGroup(
+            jDialog3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 300, Short.MAX_VALUE)
+        );
+
+        jDialog4.setName("jDialog4"); // NOI18N
+
+        javax.swing.GroupLayout jDialog4Layout = new javax.swing.GroupLayout(jDialog4.getContentPane());
+        jDialog4.getContentPane().setLayout(jDialog4Layout);
+        jDialog4Layout.setHorizontalGroup(
+            jDialog4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 400, Short.MAX_VALUE)
+        );
+        jDialog4Layout.setVerticalGroup(
+            jDialog4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 300, Short.MAX_VALUE)
+        );
+
+        popupMenu2.setLabel(resourceMap.getString("popupMenu2.label")); // NOI18N
+
+        setComponent(mainPanel);
+        setMenuBar(menuBar);
+        setStatusBar(statusPanel);
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void otworzActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_otworzActionPerformed
+        try {
+            plotno.Otworz();
+        } catch (IOException ex) {
+            Logger.getLogger(SelerShopView.class.getName()).log(Level.SEVERE, null, ex);
+        } 
+    }//GEN-LAST:event_otworzActionPerformed
+
+    private void resetujActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetujActionPerformed
+        try {        
+            plotno.Resetuj();
+        } catch (IOException ex) {
+            Logger.getLogger(SelerShopView.class.getName()).log(Level.SEVERE, null, ex);
+        } 
+    }//GEN-LAST:event_resetujActionPerformed
+
+    private void zapiszActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_zapiszActionPerformed
+        try {        
+            plotno.Zapisz();
+        } catch (IOException ex) {
+            Logger.getLogger(SelerShopView.class.getName()).log(Level.SEVERE, null, ex);
+        } 
+    }//GEN-LAST:event_zapiszActionPerformed
+
+    private void dodawanieActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dodawanieActionPerformed
+        if(this.pobierzWartosc()){
+            Float a = new Float(1);
+            plotno.Punkt(a, wartosc);
+        }
+        //JOptionPane.showMessageDialog(null, wartosc, "SelerShop", 1);
+    }//GEN-LAST:event_dodawanieActionPerformed
+
+    private void mnozenieActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnozenieActionPerformed
+        if(this.pobierzWartosc()){
+            Float a = new Float(0);
+            plotno.Punkt(wartosc, a);
+        }
+    }//GEN-LAST:event_mnozenieActionPerformed
+
+    private void gaussActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gaussActionPerformed
+        // http://en.wikipedia.org/wiki/Gaussian_blur#Sample_Gaussian_matrix
+        float[] matrix = {
+            0.00000067f, 0.00002292f, 0.00019117f, 0.00038771f, 0.00019117f, 0.00002292f, 0.00000067f,
+            0.00002292f, 0.00078633f, 0.00655965f, 0.01330373f, 0.00655965f, 0.00078633f, 0.00002292f,
+            0.00019117f, 0.00655965f, 0.05472157f, 0.11098164f, 0.05472157f, 0.00655965f, 0.00019117f,
+            0.00038771f, 0.01330373f, 0.11098164f, 0.22508352f, 0.11098164f, 0.01330373f, 0.00038771f,
+            0.00019117f, 0.00655965f, 0.05472157f, 0.11098164f, 0.05472157f, 0.00655965f, 0.00019117f,
+            0.00002292f, 0.00078633f, 0.00655965f, 0.01330373f, 0.00655965f, 0.00078633f, 0.00002292f,
+            0.00000067f, 0.00002292f, 0.00019117f, 0.00038771f, 0.00019117f, 0.00002292f, 0.00000067f
+        };
+        int rozmiar = 7;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_gaussActionPerformed
+
+    private void laplacianActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_laplacianActionPerformed
+        // http://en.wikipedia.org/wiki/Laplacian_matrix
+        float[] matrix = {
+            2f, -1f, 0f, 0f, -1f, 0f,
+            -1f, 3f, -1f, 0f, -1f, 0f,
+            0f, -1f, 2f, -1f, 0f, 0f, 
+            0f, 0f, -1f, 3f, -1f, -1f, 
+            -1f, -1f, 0f, -1f, 3f, 0f, 
+            0f, 0f, 0f, -1f, 0f, 1f
+        };
+        int rozmiar = 6;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_laplacianActionPerformed
+
+    private void usredniajacyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_usredniajacyActionPerformed
+        // http://www.projektydoszkoly.za.pl/index.html#dolno
+        float[] matrix = {
+            1/9f,1/9f,1/9f,
+            1/9f,1/9f,1/9f,
+            1/9f,1/9f,1/9f
+        };
+        int rozmiar = 3;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_usredniajacyActionPerformed
+
+    private void lp2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lp2ActionPerformed
+        // http://www.projektydoszkoly.za.pl/index.html#dolno
+        float[] matrix = {
+            1/16f,1/16f,1/16f,
+            1/16f,4/16f,1/16f,
+            1/16f,1/16f,1/16f
+        };
+        int rozmiar = 3;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_lp2ActionPerformed
+
+    private void gorny1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gorny1ActionPerformed
+        // http://www.projektydoszkoly.za.pl/index.html#dolno
+        float[] matrix = {
+            -1f,-1f,-1f,
+            -1f,9f,-1f,
+            -1f,-1f,-1f
+        };
+        int rozmiar = 3;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_gorny1ActionPerformed
+
+    private void gorny2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gorny2ActionPerformed
+        // http://www.projektydoszkoly.za.pl/index.html#dolno
+        float[] matrix = {
+            1f,-2f,1f,
+            -2f,5f,-2f,
+            1f,-2f,1f
+        };
+        int rozmiar = 3;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_gorny2ActionPerformed
+
+    private void gorny3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gorny3ActionPerformed
+        // http://www.projektydoszkoly.za.pl/index.html#dolno
+        float[] matrix = {
+            0f,-1/16f,0f,
+            -1/16f,20/16f,-1/16f,
+            0f,-1/16f,0f
+        };
+        int rozmiar = 3;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_gorny3ActionPerformed
+
+    private void krawedziePoziomyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_krawedziePoziomyActionPerformed
+        // http://www.projektydoszkoly.za.pl/index.html#dolno
+        float[] matrix = {
+            0f,-1f,0f,
+            0f,1f,0f,
+            0f,0f,0f
+        };
+        int rozmiar = 3;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_krawedziePoziomyActionPerformed
+
+    private void krawedziePionowyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_krawedziePionowyActionPerformed
+        // http://www.projektydoszkoly.za.pl/index.html#dolno
+        float[] matrix = {
+            0f,0f,0f,
+            -1f,1f,0f,
+            0f,0f,0f
+        };
+        int rozmiar = 3;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_krawedziePionowyActionPerformed
+
+    private void stiffnessActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_stiffnessActionPerformed
+        // http://en.wikipedia.org/wiki/Stiffness_matrix
+        float[] matrix = {
+            13f,-1f, 0f, 0f, -12f, 0f, 
+            -1f, 3f, -1f, 0f, -1f, 0f, 
+            0f, -1f, 2f, -1f, 0f, 0f, 
+            0f, 0f, -1f, 3f, -1f, -1f, 
+            -12f, -1f, 0f, -1f, 14f, 0f, 
+            0f, 0f, 0f, -1f, 0f, 1f
+        };
+        int rozmiar = 6;
+        plotno.Splot(matrix, rozmiar);
+    }//GEN-LAST:event_stiffnessActionPerformed
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JMenuItem dodawanie;
+    private javax.swing.JMenuItem gauss;
+    private javax.swing.JMenuItem gorny1;
+    private javax.swing.JMenuItem gorny2;
+    private javax.swing.JMenuItem gorny3;
+    private javax.swing.JDialog jDialog1;
+    private javax.swing.JDialog jDialog2;
+    private javax.swing.JDialog jDialog3;
+    private javax.swing.JDialog jDialog4;
+    private javax.swing.JMenu jMenu1;
+    private javax.swing.JMenu jMenu2;
+    private javax.swing.JMenu jMenu3;
+    private javax.swing.JMenu jMenu4;
+    private javax.swing.JMenuItem jMenuItem5;
+    private javax.swing.JMenuItem jMenuItem6;
+    private javax.swing.JScrollPane jScrollPane;
+    private javax.swing.JPopupMenu.Separator jSeparator1;
+    private javax.swing.JPopupMenu.Separator jSeparator2;
+    private javax.swing.JPopupMenu.Separator jSeparator3;
+    private javax.swing.JMenuItem krawedziePionowy;
+    private javax.swing.JMenuItem krawedziePoziomy;
+    private javax.swing.JMenuItem laplacian;
+    private javax.swing.JMenuItem lp2;
+    private javax.swing.JPanel mainPanel;
+    private javax.swing.JMenuBar menuBar;
+    private javax.swing.JMenuItem mnozenie;
+    private javax.swing.JMenuItem otworz;
+    private selershop.Plotno plotno;
+    private java.awt.PopupMenu popupMenu1;
+    private java.awt.PopupMenu popupMenu2;
+    private javax.swing.JProgressBar progressBar;
+    private javax.swing.JMenuItem resetuj;
+    private javax.swing.JLabel statusAnimationLabel;
+    private javax.swing.JLabel statusMessageLabel;
+    private javax.swing.JPanel statusPanel;
+    private javax.swing.JMenuItem stiffness;
+    private javax.swing.JMenuItem usredniajacy;
+    private javax.swing.JMenuItem zapisz;
+    // End of variables declaration//GEN-END:variables
+
+    private final Timer messageTimer;
+    private final Timer busyIconTimer;
+    private final Icon idleIcon;
+    private final Icon[] busyIcons = new Icon[15];
+    private int busyIconIndex = 0;
+
+    private JDialog aboutBox;
+    private Float wartosc;
+}

File src/selershop/resources/SelerShopAboutBox.properties

View file
+title = About: ${Application.title} ${Application.version} 
+
+closeAboutBox.Action.text = &Close
+
+appDescLabel.text=Projekt 2 z Grafiki Komputerowej
+
+versionLabel.text=Autor:
+
+vendorLabel.text=Grupa:
+
+homepageLabel.text=Prowadz\u0105cy:
+
+#NOI18N
+imageLabel.icon=about.png

File src/selershop/resources/SelerShopApp.properties

View file
+# Application global resources
+
+Application.name = SelerShop
+Application.title = SelerShop
+Application.version = Rafa\u0142 Selewo\u0144ko
+Application.vendor = PS 8
+Application.homepage = dr in\u017c. Marek Ustymowicz
+Application.description = A simple Java desktop application based on Swing Application Framework.
+Application.vendorId = Sun
+Application.id = ${Application.name}
+Application.lookAndFeel = system

File src/selershop/resources/SelerShopTableBox.properties

Empty file added.

File src/selershop/resources/SelerShopView.properties

View file
+fileMenu.text = Plik
+helpMenu.text = Pomoc
+
+# @Action resources
+
+showAboutBox.Action.text = &About...
+showAboutBox.Action.shortDescription = Show the application's information dialog
+
+# status bar resources
+
+StatusBar.messageTimeout = 5000
+StatusBar.busyAnimationRate = 30
+StatusBar.idleIcon = busyicons/idle-icon.png
+StatusBar.busyIcons[0]  = busyicons/busy-icon0.png
+StatusBar.busyIcons[1]  = busyicons/busy-icon1.png
+StatusBar.busyIcons[2]  = busyicons/busy-icon2.png
+StatusBar.busyIcons[3]  = busyicons/busy-icon3.png
+StatusBar.busyIcons[4]  = busyicons/busy-icon4.png
+StatusBar.busyIcons[5]  = busyicons/busy-icon5.png
+StatusBar.busyIcons[6]  = busyicons/busy-icon6.png
+StatusBar.busyIcons[7]  = busyicons/busy-icon7.png
+StatusBar.busyIcons[8]  = busyicons/busy-icon8.png
+StatusBar.busyIcons[9]  = busyicons/busy-icon9.png
+StatusBar.busyIcons[10] = busyicons/busy-icon10.png
+StatusBar.busyIcons[11] = busyicons/busy-icon11.png
+StatusBar.busyIcons[12] = busyicons/busy-icon12.png
+StatusBar.busyIcons[13] = busyicons/busy-icon13.png
+StatusBar.busyIcons[14] = busyicons/busy-icon14.png
+jMenu1.text=Punktowe
+jMenu2.text=Splotowe
+jMenu3.text=Morfologiczne
+jMenu4.text=Histogramy
+jMenuItem5.text=Erozja
+jMenuItem6.text=Dylatacja
+otworz.text=Otw\u00f3rz
+zapisz.text=Zapisz
+resetuj.text=Resetuj
+dodawanie.text=Dodawanie
+popupMenu1.label=popupMenu1
+popupMenu2.label=popupMenu2
+mnozenie.text=Mno\u017cenie
+gauss.text=Gaussa
+laplacian.text=Laplace'a
+usredniajacy.text=U\u015bredniaj\u0105cy
+lp2.text=LP2
+gorny1.text=G\u00f3rny1
+gorny2.text=G\u00f3rny2
+gorny3.text=G\u00f3rny3
+krawedziePoziomy.text=KrawedziePoziomy
+krawedziePionowy.text=KrawedziePionowy
+stiffness.text=Stiffness

File src/selershop/resources/SelerShopWybierzTabele.properties

Empty file added.

File src/selershop/resources/about.png

Added
New image

File src/selershop/resources/busyicons/busy-icon0.png

Added
New image

File src/selershop/resources/busyicons/busy-icon1.png

Added
New image

File src/selershop/resources/busyicons/busy-icon10.png

Added
New image

File src/selershop/resources/busyicons/busy-icon11.png

Added
New image

File src/selershop/resources/busyicons/busy-icon12.png

Added
New image

File src/selershop/resources/busyicons/busy-icon13.png

Added
New image

File src/selershop/resources/busyicons/busy-icon14.png

Added
New image

File src/selershop/resources/busyicons/busy-icon2.png

Added
New image

File src/selershop/resources/busyicons/busy-icon3.png

Added
New image

File src/selershop/resources/busyicons/busy-icon4.png

Added
New image

File src/selershop/resources/busyicons/busy-icon5.png

Added
New image

File src/selershop/resources/busyicons/busy-icon6.png

Added
New image

File src/selershop/resources/busyicons/busy-icon7.png