<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem awt</title>
<link>https://forum.pasja-informatyki.pl/tag/awt</link>
<description>Powered by Question2Answer</description>
<item>
<title>konsultacje java obiektowe</title>
<link>https://forum.pasja-informatyki.pl/532080/konsultacje-java-obiektowe</link>
<description>Szanowni Forumowicze,&lt;br /&gt;
&lt;br /&gt;
Wykonuje małą aplikację do szkoły, która czyta prosty plik z danymi, zrobiłem to niestety w starym stylu strukturalnym ich chciałbym to trochę 'zobiektywizować'. Są klasy wszystko działa ale chcę to bardziej oprzeć na paradygmacie obiektowym. Nie proszę o wykonanie za mnie zadanka ale o konsultacje, za które zapłacę i na których pokażę kod i ktoś trochę mi objaśni zawiłości programowania obiektowego i zasugeruje jak ten kod uelastycznić.&lt;br /&gt;
&lt;br /&gt;
Uprzejmie proszę o pomoc&lt;br /&gt;
&lt;br /&gt;
Pozdrawiam</description>
<category>Ogłoszenia, zlecenia</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/532080/konsultacje-java-obiektowe</guid>
<pubDate>Sun, 07 Mar 2021 10:19:32 +0000</pubDate>
</item>
<item>
<title>Java porównywanie odczytu z textField do łancucha znakowego z pliku tekstowego w interfejsie AWT</title>
<link>https://forum.pasja-informatyki.pl/527373/porownywanie-odczytu-textfield-lancucha-znakowego-pliku-tekstowego-interfejsie</link>
<description>

&lt;p&gt;Cześć!&lt;/p&gt;



&lt;p&gt;Ogólnym zadaniem programu jest otwieranie i edycja plików tekstowych z menu czyli dopisywanie i usuwanie linii tekstu oraz dodawanie nowych plików do menu. Usuwanie i sprawdzanie czy plik jest w menu nie działa poprawnie. środowisko to NeatBeans 8.2&lt;/p&gt;



&lt;p&gt;chodzi mi o linijki 65 i 121 gdzie porównuje to co wpisał użytkownik z tym co jest w pliku. Problem jest ten sam w 2 przypadkach obydwa podejścia nie działają .equals wyrzuca błąd&amp;nbsp;java.lang.nullpointerexception a == kompletnie pomija i metoda wykonuje się tak jakby bez if i to jak zadeklaruje r tak je zwróci.&lt;/p&gt;



&lt;p&gt;Proszę o pomoc bo na prawdę skończyły mi się pomysły.&lt;/p&gt;



&lt;p&gt;tutaj wyodrębnione błędy które zauważyłem&lt;/p&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
              if(s.equals(u)){

                  pw.println(&quot;&quot;);
                  
               }&lt;/pre&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
                if(s==w){
                  r++;                  
                }&lt;/pre&gt;



&lt;p&gt;tutaj kod całego programu&lt;/p&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException; 
import java.io.File;

public class Zaliczenie extends java.applet.Applet {
    String plik=&quot;&quot;;
    

    void odczyt(String plik){
        String s;
        
        try{
            
            FileReader fr = new FileReader(plik+&quot;.txt&quot;);
            BufferedReader br = new BufferedReader(fr);
            
            do{
               s = br.readLine();
               if(s != null){
                  textArea1.append(s+&quot;\n&quot;);   
               }
            }while(s != null);
         
            fr.close();
            br.close();
        }catch(IOException e){
            System.out.println(&quot;Błąd we/wy...&quot;);
        }
        
    }
    void dopisz(String s, String p){
        
        try{
            FileWriter fw = new FileWriter(p+&quot;.txt&quot;,true);
            PrintWriter pw = new PrintWriter(fw);
            
            pw.println(s);
            //textArea1.append(s);

            
            
            pw.close();
            fw.close();
            
        }catch(IOException e){
            System.out.println(&quot;błąd wejścia wyjścia&quot;);
        } 
           
    }
    
    void usun(String u){
       //String s=&quot;&quot;;
       try{
            String s=&quot;&quot;;
            FileReader fr = new FileReader(plik+&quot;.txt&quot;);
            BufferedReader br = new BufferedReader(fr);
            FileWriter fw = new FileWriter(&quot;buf.txt&quot;,true);
            PrintWriter pw = new PrintWriter(fw);
            
            do{
               s = br.readLine();
               if(s.equals(u)){
                  pw.println(&quot;&quot;);
                  
               }
               else{               
               if(s != null){
                  pw.println(s);  
               }
               }
            }while(s != null);
         
            fr.close();
            br.close();
            pw.close();
            fw.close();
            
            File n = new File(plik+&quot;.txt&quot;);
            n.delete();
            
            FileReader fr1 = new FileReader(&quot;buf.txt&quot;);
            BufferedReader br1 = new BufferedReader(fr1);
            FileWriter fw1 = new FileWriter(plik+&quot;.txt&quot;,true);
            PrintWriter pw1 = new PrintWriter(fw1);
            do{
               s = br1.readLine();
                             
               if(s != null){
                  pw1.println(s);  
               }
               
            }while(s != null); 
            
            fr1.close();
            br1.close();
            fw1.close();
            pw1.close();
            
            File b = new File(&quot;buf.txt&quot;);
            b.delete();
            
           
            
            
            
        }catch(IOException e){
            System.out.println(&quot;Błąd we/wy...&quot;);
        }
    }
    int spr(String w){
                       
        try{
            int r = 1 ; 
            String s;            
            
            FileReader fr = new FileReader(&quot;menu.txt&quot;);
            BufferedReader br = new BufferedReader(fr);
            
            do{
               s = br.readLine();
               
               if(s==w){
                  r++;                  
                }
               
            }while(s != null);
            
            fr.close();
            br.close();
            return r;
        }catch(IOException e){
            System.out.println(&quot;Błąd we/wy...&quot;);
            return 0;
        }
    }
       
       
        
    

        

    public void init() {
       
        try {
            java.awt.EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                    initComponents();
                }
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    /**
     * This method is called from within the init() method to initialize the
     * form. WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // &amp;lt;editor-fold defaultstate=&quot;collapsed&quot; desc=&quot;Generated Code&quot;&amp;gt;//GEN-BEGIN:initComponents
    private void initComponents() {

        label1 = new java.awt.Label();
        textArea1 = new java.awt.TextArea();
        button1 = new java.awt.Button();
        button2 = new java.awt.Button();
        button3 = new java.awt.Button();
        label2 = new java.awt.Label();
        button4 = new java.awt.Button();
        textField2 = new java.awt.TextField();
        button5 = new java.awt.Button();

        button1.setLabel(&quot;Otwórz&quot;);
        button1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                button1ActionPerformed(evt);
            }
        });

        button2.setLabel(&quot;Dopisz&quot;);
        button2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                button2ActionPerformed(evt);
            }
        });

        button3.setLabel(&quot;Usuń&quot;);
        button3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                button3ActionPerformed(evt);
            }
        });

        button4.setLabel(&quot;Menu&quot;);
        button4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                button4ActionPerformed(evt);
            }
        });

        textField2.setText(&quot;Gry&quot;);

        button5.setLabel(&quot;Utwórz nowy plik&quot;);
        button5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                button5ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(145, 145, 145)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(label1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(button1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(button2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(button3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(label2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(146, 146, 146)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(textArea1, javax.swing.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
                            .addComponent(textField2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(button4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(button5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap(205, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(81, 81, 81)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(button2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(button1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(textField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(button4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(button5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(29, 29, 29)
                        .addComponent(textArea1, javax.swing.GroupLayout.PREFERRED_SIZE, 189, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(button3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(64, Short.MAX_VALUE))
        );
    }// &amp;lt;/editor-fold&amp;gt;//GEN-END:initComponents

    private void button1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button1ActionPerformed
        textArea1.setText(&quot;&quot;);
        plik=textField2.getText();
        if(plik.equals(&quot;&quot;)){
        textArea1.setText(&quot;Podaj nazwę pliku&quot;);     
        }
        else if (spr(plik)==0){                      
        textArea1.setText(&quot;Pliku nie ma w bazie&quot;);        
        }
        else{
        odczyt(plik);
        label1.setText(&quot;Jesteś w:&quot;);
        label2.setText(plik);
        textField2.setText(&quot;&quot;); 
        }
       
    }//GEN-LAST:event_button1ActionPerformed

    private void button2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button2ActionPerformed
        textArea1.setText(&quot;&quot;);
        if(textField2.getText().equals(&quot;&quot;)){
            textArea1.setText(&quot;podaj tekst&quot;);
        }
        else if(plik.equals(&quot;&quot;)){
            textArea1.setText(&quot;nie jesteś w pliku&quot;);
        }
            else{
        label1.setText(&quot;Jesteś w:&quot;);
        label2.setText(plik);
        dopisz(textField2.getText(), plik); 
        textField2.setText(&quot;&quot;);
        textArea1.setText(&quot;&quot;);
        odczyt(plik);
                    }
                   
    }//GEN-LAST:event_button2ActionPerformed

    private void button3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button3ActionPerformed
        textArea1.setText(&quot;&quot;);
        usun(textField2.getText());
        odczyt(plik);
    }//GEN-LAST:event_button3ActionPerformed

    private void button4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button4ActionPerformed
        textArea1.setText(&quot;&quot;);
        label1.setText(&quot;Jesteś w:&quot;);
        label2.setText(&quot;menu czytasz &quot;+plik);
        odczyt(&quot;menu&quot;);
    }//GEN-LAST:event_button4ActionPerformed

    private void button5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button5ActionPerformed
        textArea1.setText(&quot;&quot;);
        dopisz(textField2.getText(), &quot;menu&quot;);
        odczyt(&quot;menu&quot;);
        label1.setText(&quot;Jesteś w:&quot;);
        label2.setText(&quot;menu czytasz &quot;+plik);
        dopisz(&quot;&quot;, textField2.getText());
        textField2.setText(&quot;&quot;);
    }//GEN-LAST:event_button5ActionPerformed


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private java.awt.Button button1;
    private java.awt.Button button2;
    private java.awt.Button button3;
    private java.awt.Button button4;
    private java.awt.Button button5;
    private java.awt.Label label1;
    private java.awt.Label label2;
    private java.awt.TextArea textArea1;
    private java.awt.TextField textField2;
    // End of variables declaration//GEN-END:variables
}
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/527373/porownywanie-odczytu-textfield-lancucha-znakowego-pliku-tekstowego-interfejsie</guid>
<pubDate>Thu, 28 Jan 2021 12:21:56 +0000</pubDate>
</item>
<item>
<title>Mam dwa pytania. Czy warto używać jdk 8 w 2019 r. i co wybrać JavaFX lub AWT/Swing.</title>
<link>https://forum.pasja-informatyki.pl/440993/mam-dwa-pytania-czy-warto-uzywac-jdk-8-w-2019-r-i-co-wybrac-javafx-lub-awt-swing</link>
<description>Cześć. W przyszłości chcę być programistą java. Co jest lepsze JavaAWT i Swing czy JavaFX, a również czy warto uzywać Jdk 12 czy zostać przy Jdk 8</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/440993/mam-dwa-pytania-czy-warto-uzywac-jdk-8-w-2019-r-i-co-wybrac-javafx-lub-awt-swing</guid>
<pubDate>Fri, 19 Jul 2019 12:24:52 +0000</pubDate>
</item>
<item>
<title>Podział kwadratu 10a x 10a na 100 pól: Aplikacja Okienkowa swing + AWT</title>
<link>https://forum.pasja-informatyki.pl/403756/podzial-kwadratu-10a-x-10a-na-100-pol-aplikacja-okienkowa-swing-awt</link>
<description>

&lt;blockquote&gt;


&lt;p&gt;Program umożliwiający zabudowę obszaru o wymiarach 10a na 10a składającego się ze 100 pól przy pomocy figur: kwadratów o boku a, prostokątów o boku a i 2a oraz prostokątów o boku 2a i a. Figury wstawiane są do obszaru poprzez wskazanie pozycji myszką.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Witam otoż mam problem bo za bardzo nie mam pomyslu jak podzielic ten kwadrat na 100 pol i potrzebuje niestety koncepcji jakies która by mniej wiecej mi w tym pomogla są oczywiscie inne zadania podane przez nauczyciela ale jednak chcialbym zrobic ten przyklad bo jest ciekawy :)&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/403756/podzial-kwadratu-10a-x-10a-na-100-pol-aplikacja-okienkowa-swing-awt</guid>
<pubDate>Tue, 01 Jan 2019 15:38:03 +0000</pubDate>
</item>
<item>
<title>[JAVA] Deaktywacja dużej liczby przycisków jednocześnie.</title>
<link>https://forum.pasja-informatyki.pl/357427/java-deaktywacja-duzej-liczby-przyciskow-jednoczesnie</link>
<description>

&lt;p&gt;Witam,&amp;nbsp;&lt;/p&gt;



&lt;p&gt;piszę program zawierający 48 guzików. W razie wystąpienia błędu, program ma deaktywować wszystkie przyciski poza jednym, służącym do resetu. Dodałem 47 guzików do ButtonGroup, z nadzieją, że ma wbudowaną funkcję ustawiania jednakowej wartości dla parametru każdego przycisku, lecz niestety takiej możliwosci nie posiada.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Jakieś wskazówki/porady? Kodu nie wrzucam, gdyż całość ma jakieś hmm, 900 linijek.&amp;nbsp;&lt;img alt=&quot;indecision&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/whatchutalkingabout_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;indecision&quot;&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/357427/java-deaktywacja-duzej-liczby-przyciskow-jednoczesnie</guid>
<pubDate>Tue, 12 Jun 2018 15:32:23 +0000</pubDate>
</item>
<item>
<title>Java - Swing</title>
<link>https://forum.pasja-informatyki.pl/207308/java-swing</link>
<description>

&lt;p&gt;Witam :)&lt;/p&gt;



&lt;p&gt;Mam pytanie a propos metody:&lt;/p&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
protected void paintComponent(Graphics g)&lt;/pre&gt;



&lt;p&gt;Przyjmuje ona za parametr obiekt klasy Graphics, która jest abstrakcyjna. Z tego co wiem nie można utworzyć obiektu klasy abstrakcyjnej. Mam prośbę aby ktoś wyjaśnij mi jak to rozgryźć.&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/207308/java-swing</guid>
<pubDate>Sun, 18 Dec 2016 18:42:27 +0000</pubDate>
</item>
<item>
<title>JAVA przesyłanie obiektu File pomiędzy JFrame</title>
<link>https://forum.pasja-informatyki.pl/203271/java-przesylanie-obiektu-file-pomiedzy-jframe</link>
<description>

&lt;p&gt;Dzień dobry,&lt;/p&gt;



&lt;p&gt;Mam następujący problem. Otóż piszę sobie prosty czat LAN. Wpadłem na pomysł, że dobrym pomysłem byłoby zaimplementowanie możliwości przesyłania plików. Napisałem klasę ClientFrame, z która zawiera GUI klienta czatu oraz klasę SendFileFrame służącą do wybierania pliku do wysłania. Poniżej wklejam kod klasy ClientFrame:&lt;/p&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
package com.jarek.chat;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.net.Socket;

/**
 * Created by Jarek on 09.11.16.
 */
public class ClientFrame extends JFrame implements ActionListener{
    private JPanel panelMain;
    private JTextArea msgArea = new JTextArea(10, 32);
    private JTextField msgText = new JTextField();
    private JPanel btnPanel = new JPanel();
    private JButton msgSend = new JButton(&quot;Send message!&quot;);
    private JButton clearArea = new JButton(&quot;Clear message area!&quot;);
    private JButton fileSend = new JButton(&quot;Send file!&quot;);
    private File file;
    private Container container = getContentPane();
    private SendFileFrame sendFile;


    static Socket s;
    static DataInputStream dataInputStream;
    static DataOutputStream dataOutputStream;

    public ClientFrame() {

        msgArea.setEditable(false);
        msgArea.setWrapStyleWord(true);
        msgArea.setLineWrap(true);

        msgSend.addActionListener(this);
        clearArea.addActionListener(this);
        fileSend.addActionListener(this);

        container.add(new JScrollPane(msgArea), BorderLayout.CENTER);
        btnPanel.setLayout(new FlowLayout());
        btnPanel.setPreferredSize(new Dimension(200,200));
        btnPanel.add(msgSend, BorderLayout.NORTH);
        btnPanel.add(clearArea, BorderLayout.SOUTH);
        btnPanel.add(fileSend, BorderLayout.WEST);
        container.add(btnPanel, BorderLayout.EAST);
        container.add(msgText, BorderLayout.SOUTH);
        setTitle(&quot;Client&quot;);
        pack();
        setVisible(true);
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                int choice = JOptionPane.showConfirmDialog(container, &quot;Exit?&quot;, &quot;Close CHAT&quot;,
                        JOptionPane.OK_OPTION);
                if (choice == JOptionPane.OK_OPTION)
                    System.exit(0); // do dopracowania
            }
        });

    }

    @Override
    public void actionPerformed(ActionEvent e) {

        if(e.getSource() == msgSend) {

            try {

                String msgOut;
                msgOut = msgText.getText().trim();
                dataOutputStream.writeUTF(msgOut);
                msgText.setText(&quot;&quot;);

            } catch (Exception i) {
                JOptionPane.showMessageDialog(this, &quot;Send message error! Check your &quot; +
                        &quot;connection or if server is closed!&quot;, &quot;Send error!&quot;, JOptionPane.ERROR_MESSAGE);
            }
        }
        else if(e.getSource() == clearArea) {

            msgArea.setText(&quot;&quot;);

        }
        else if(e.getSource() == fileSend) {

           sendFile = new SendFileFrame(this);
           msgArea.append(&quot;Loaded file: &quot; + file.getName());

        }

    }

    private void listen()  {

        String msgIn = &quot;&quot;;

        try {

            s = new Socket(&quot;127.0.0.1&quot; , 1220);

            dataInputStream = new DataInputStream(s.getInputStream());
            dataOutputStream = new DataOutputStream(s.getOutputStream());

            while(msgIn!=&quot;exit&quot;) {

                msgIn = dataInputStream.readUTF();
                System.out.println(msgIn);
                msgArea.setText(msgArea.getText() + &quot;\nServer: &quot; + msgIn);
            }

        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, &quot;Receive message error! Check your &quot; +
                &quot;connection!&quot;, &quot;Receive error!&quot;, JOptionPane.ERROR_MESSAGE);
            }

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -&amp;gt; {
            ClientFrame clientFrame = new ClientFrame();
            clientFrame.listen();
        });
    }

    public void setFile(File file) {
        this.file = file;
    }
}
&lt;/pre&gt;



&lt;p&gt;Oraz SendFileFrame:&lt;/p&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
package com.jarek.chat;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

/**
 * Created by jarek on 12/2/16.
 */
public class SendFileFrame extends JPanel implements ActionListener {


    private JPanel panelMain;
    private JFileChooser fileChooser;
    private JButton selectFile = new JButton(&quot;Select file to send!&quot;);
    private JButton sendFile = new JButton(&quot;Send choosed file!&quot;);
    private JButton cancel = new JButton(&quot;Cancel!&quot;);
    private JTextField fileName;
    private JTextField filePath;
    private JPanel main;
    public File file = null;
    private static JFrame frame = new JFrame(&quot;Choose file to send!&quot;);
    private ClientFrame clientFrame;


    private void showGUI() {

        fileName = new JTextField();
        fileName.setEditable(false);
        filePath = new JTextField();
        filePath.setEditable(false);
        fileChooser = new JFileChooser();
        fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        selectFile.addActionListener(this);
        sendFile.addActionListener(this);
        cancel.addActionListener(this);
        panelMain = new JPanel();
        panelMain.add(selectFile);
        panelMain.add(sendFile);
        panelMain.add(cancel);
        add(panelMain, BorderLayout.PAGE_START);
        add(fileName,BorderLayout.CENTER);
        add(filePath, BorderLayout.SOUTH);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(this);
        frame.pack();
        frame.setVisible(true);
     }

     public SendFileFrame(ClientFrame client) {
        super(new BorderLayout());
        showGUI();
        this.clientFrame = client;

     }

    public void actionPerformed(ActionEvent e){

        if(e.getSource() == selectFile) {

            int returnVal = fileChooser.showOpenDialog(SendFileFrame.this);

            if(returnVal == JFileChooser.APPROVE_OPTION) {

                file = fileChooser.getSelectedFile();
                fileName.setText(&quot;Name: &quot; + file.getName());
                filePath.setText(&quot;Path: &quot; + file.getPath());

            }
            else
                fileName.setText(&quot;Cancelled by user!&quot;);

        }
        else if(e.getSource() == sendFile)
        {
            clientFrame.setFile(this.file);
            frame.dispose();
        }

        else if(e.getSource() == cancel){
            frame.dispose();
        }
            // close

    }


    public static void main(String[] args) {

            SwingUtilities.invokeLater(() -&amp;gt; {
                SendFileFrame sf = new SendFileFrame(null);
            });

    }

    public File getFile() {
        return file;
    }
}&lt;/pre&gt;



&lt;p&gt;Rozwiązanie to jednak wywołuje NullPointerException. Jakieś rady, możliwe sposoby rozwiązania?&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/203271/java-przesylanie-obiektu-file-pomiedzy-jframe</guid>
<pubDate>Mon, 05 Dec 2016 16:46:39 +0000</pubDate>
</item>
<item>
<title>Java AWT i SWING</title>
<link>https://forum.pasja-informatyki.pl/179703/java-awt-i-swing</link>
<description>

&lt;p&gt;Witam :)&lt;/p&gt;



&lt;p&gt;Napisałem krótką aplikacje używając SWING'a (JTextField, JButton i JLabel) i AWT. Problem zaczyna się gdy używam rysowania (Graphic gDC), wtedy znikają mi wszystkie elementy JFrame. Teoretycznie pokazują się gdy odnajdę&amp;nbsp;je kursorem na ślepo. Proszęo podpowiedź jak mogę to naprawić :)&lt;/p&gt;



&lt;p&gt;A tak wygląda aplikacja:&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class JApp extends JFrame
{
	private JTextField textFieldKilometry, textFieldLitry;
	private JButton buttonLicz;
	private JLabel labelWynik;
	
	String spalanie = &quot;Spalanie&quot;;
	Font spalanieFont = null;
	Font opisFont = null;
	
	String kilometry;
	
	public void paint(Graphics gDC)
	{
		gDC.setFont(spalanieFont);
		FontMetrics rozmiarCzcionki = gDC.getFontMetrics();
		
		int spalanieSzerokosc = rozmiarCzcionki.stringWidth(&quot;Spalanie&quot;);
		int spalanieWysokosc = rozmiarCzcionki.getHeight();
		
		int srodekX = (getWidth() - spalanieSzerokosc) / 2;
		int srodekY = (getHeight() + spalanieWysokosc) / 2;
		
		gDC.clearRect(0, 0, getSize().width, getSize().height);
		gDC.drawString(spalanie, srodekX, 60);
		
		gDC.setFont(opisFont);
		gDC.drawString(&quot;Podaj przejechane kilometry:&quot;, 30, 100);
		
		gDC.setFont(opisFont);
		gDC.drawString(&quot;Podaj ilość litrów zatankowanego paliwa:&quot;, 30, 130);
		
		gDC.setFont(opisFont);
		gDC.drawString(&quot;Spalanie na 100 kilometrów to:&quot;, 30, 225);
	}
	
	public JApp()
	{
		ActionListener buttonLiczAL = new ActionListener() 
		{			
			public void actionPerformed(ActionEvent e) 
			{
				if(e.getSource() == buttonLicz)
					kilometry = textFieldKilometry.getText();
					double km = Double.parseDouble(kilometry);
					System.out.println(kilometry);
			}
		};
		
		setLayout(null);
		
		textFieldKilometry = new JTextField();
		textFieldKilometry.setBounds(300, 55, 100, 20);
		
		textFieldLitry = new JTextField();
		textFieldLitry.setBounds(300, 85, 100, 20);
		
		buttonLicz = new JButton(&quot;Oblicz&quot;);
		buttonLicz.setBounds(150, 130, 100, 20);
		buttonLicz.addActionListener(buttonLiczAL);
		
		labelWynik = new JLabel(&quot;JApp&quot;);
		labelWynik.setBounds(150, 150, 100, 50);
		
		add(textFieldKilometry);
		add(textFieldLitry);
		add(buttonLicz);
		add(labelWynik);
	}

	
	
	public static void main(String[] args) 
	{
		JApp main = new JApp();
		main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		main.setSize(420, 300);
		main.setVisible(true);
	}

}
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/179703/java-awt-i-swing</guid>
<pubDate>Fri, 16 Sep 2016 16:58:09 +0000</pubDate>
</item>
<item>
<title>Projekt - klasa file, awt.</title>
<link>https://forum.pasja-informatyki.pl/143869/projekt-klasa-file-awt</link>
<description>

&lt;p&gt;Cześć,&lt;/p&gt;



&lt;p&gt;mam do wykonania projekt polegający na wykonaniu programu w javie obsługującego plik .txt.&lt;/p&gt;



&lt;p&gt;Mam do was kilka pytań. Chciałbym wykonać program który po odpaleniu wyświetli okienko z kilkoma buttonami. Po kliknięciu na odpowiedni przycisk pojawi się okienko z nazwą obiektu, który chcę utworzyć (np. &lt;em&gt;samochód&lt;/em&gt;) i każdy jego parametr (&lt;em&gt;marka, model&lt;/em&gt; itp.) będzie do wpisania w pustym okienku poniżej. Po wpisaniu wszystkich parametrów, przycisk OK ma za zadanie &lt;strong&gt;dodać go&lt;/strong&gt; do pliku tekstowego o danej nazwie w konkretnej lokalizacji w formie linii tekstu z odpowiednią liczbą porządkową na początku (np. 1. Samochód marki: &lt;em&gt;marka&lt;/em&gt;, model: &lt;em&gt;model&lt;/em&gt;, z silnikiem: &lt;em&gt;pojemność, rodzaj, moc&lt;/em&gt;.) Co więcej, przy każdym nowym dodaniu obiektu, chciałbym aby liczba porządkowa rosła o 1.&lt;/p&gt;



&lt;p&gt;Teraz chcę zapytać, czy:&lt;/p&gt;



&lt;p&gt;takie dodawanie obiektów przez przyciski w okienku (wykonane w awt domyślam się?) wogóle ma sens, czy to działa na takiej zasadzie? Na razie chcę ułożyć sobie jakiś racjonalny plan pracy. Podzielcie się proszę swoimi wskazówkami, radami :).&lt;/p&gt;



&lt;p&gt;Pozdrawiam.&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/143869/projekt-klasa-file-awt</guid>
<pubDate>Tue, 24 May 2016 10:57:57 +0000</pubDate>
</item>
<item>
<title>Sprawdzenie czy istnieje taki element w JList</title>
<link>https://forum.pasja-informatyki.pl/143580/sprawdzenie-czy-istnieje-taki-element-w-jlist</link>
<description>Problem polega na tym, że za każdym razem jak dodaje do listy nazwę użytkownika, to stara nazwa nie usuwa mi się. Jak usunąć taki String(?) z listy ( używam tu Socketów. W tej części stworzyłem chat ).&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://pastebin.com/rFCgG5Ts&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://pastebin.com/rFCgG5Ts&lt;/a&gt; &amp;lt;- Kod w którym dodaje do listy&lt;br /&gt;
&lt;br /&gt;
Próbowałem różnych porównań loginów etc, ale to wszystko na nic.. Więc wydaje mi się, że przy rozłączeniu z chatem muszę ze stringa Current Users usunąć ten login, tak?</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/143580/sprawdzenie-czy-istnieje-taki-element-w-jlist</guid>
<pubDate>Sun, 22 May 2016 22:22:48 +0000</pubDate>
</item>
<item>
<title>Alternatywa dla Swinga i AWT</title>
<link>https://forum.pasja-informatyki.pl/141186/alternatywa-dla-swinga-i-awt</link>
<description>Polecacie jakąś alternatywę dla Swinga i AWT? Co sądzicie o JavaFX i SWT? Tak swoją drogą teraz mam te tematy w książce zaawansowanych zagadnień Swinga i AWT a potem pełen luzik ze Scalą, Groovy, Java Beans, bezpieczeństwo apletów i takie sprawy. Chodzi mi o to, żeby się nie męczyć z GridBagLayoutami tylko żeby normalnie tak jak w Visual Studio to się robi tak samo żebym mógł w Javie robić i żeby kod wyglądał w przyjazny sposób.</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/141186/alternatywa-dla-swinga-i-awt</guid>
<pubDate>Sun, 15 May 2016 16:55:28 +0000</pubDate>
</item>
</channel>
</rss>