<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem aplikacja-okienkowa</title>
<link>https://forum.pasja-informatyki.pl/tag/aplikacja-okienkowa</link>
<description>Powered by Question2Answer</description>
<item>
<title>Java - aplikacja okienkowa a odswiezanie i kompilacja do pliku jar</title>
<link>https://forum.pasja-informatyki.pl/563748/java-aplikacja-okienkowa-a-odswiezanie-i-kompilacja-do-pliku-jar</link>
<description>

&lt;p&gt;Hej, dwa pytania odnośnie Javy. Napisałem prosty program symulujący rzut kością prezentującym wyniki rzutu na ekranie w formie graficznej.&amp;nbsp; Klasa Panel1 extends JPanel oraz klasa GraWKosci tworzące ramke, dodajace do niej komponenty, z możliwością wyboru iloma kostkami chcemy rzucać.&lt;/p&gt;



&lt;p&gt;Po wielu próbach działa, ale po zmianie ilości kostek aplikacja nie odświeża się automatycznie, muszę kliknąć drugi raz na pole wyboru lub np. rozszerzyć okno aby program wygenerował nową ilość kostek (bez tego ramka pozostaje pusta), wiec pierwsze pytanie dotyczy tego, jak mogę to rozwiązać, ewentualnie dlaczego nie mogę? :)&lt;/p&gt;



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



&lt;p&gt;Druga sprawa dotyczy skompilowania tego do pliku jar, po wygenerowaniu przez kompilator plikow class i próbie dodania ich do archiwum JAR komenda &quot; -jar cvmf manifest.txt aplk.jar GraWKosci.class &quot; kompilator wyświetla added manifest
&lt;br&gt;
adding: GraWKosci.class(in = 3309) (out= 1825)(deflated 44%), a sam plik nie uruchamia aplikacji.&lt;/p&gt;



&lt;p&gt;Z góry dziękuję, za odpowiedź, poniżej wklejam kody napisanych klas:&lt;/p&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

public class GraWKosci {

    JFrame ramka;
    JPanel panelGlowny;
    JPanel wyniki;

    JTextField wynik;
    JTextField wynik2;
    JTextField wynik3;
    ArrayList&amp;lt;Panel1&amp;gt; lista = new ArrayList&amp;lt;Panel1&amp;gt;();
    ArrayList&amp;lt;JTextField&amp;gt; wynikLista = new ArrayList&amp;lt;JTextField&amp;gt;();

    public static void main(String[] args) {
        new GraWKosci().tworzGUI();

    }

    public void tworzGUI() {
        ramka = new JFrame(&quot;Gra w kości&quot;);
        ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        String[] obiekty = new String[3];
        for (int i = 0; i &amp;lt; 3; i++) {
            obiekty[i] = (&quot;Rzuć &quot; + (i + 1) + &quot; kośćmi&quot;);
        }

        JPanel panelWyb = new JPanel(new FlowLayout());
        JComboBox wybor = new JComboBox(obiekty);
        panelWyb.add(new Label(&quot;Ile kości&quot;));
        panelWyb.add(wybor);
        wybor.addActionListener(new Lista());
        ramka.getContentPane().add(BorderLayout.NORTH, panelWyb);


        ramka.setSize(450, 200);
        ramka.setVisible(true);

        JPanel dol = new JPanel();
        BorderLayout layout = new BorderLayout();
        dol.setLayout(layout);

        JButton przycisk = new JButton(&quot;Losuj&quot;);
        dol.add(BorderLayout.SOUTH, przycisk);

        wyniki = new JPanel();
        wyniki.setLayout(new BoxLayout(wyniki, BoxLayout.X_AXIS));
        wyniki.add(new Label(&quot;Poprzednie rzuty:&quot;));


        wynik = new JTextField();
        wynikLista.add(wynik);
        wyniki.add(wynik);
        wynik.setEditable(false);

        wynik2 = new JTextField();
        wynikLista.add(wynik2);
        wyniki.add(wynik2);
        wynik2.setEditable(false);

        wynik3 = new JTextField();
        wynikLista.add(wynik3);
        wyniki.add(wynik3);
        wynik3.setEditable(false);

        wyniki.add(wynik);
        wyniki.add(wynik2);
        wyniki.add(wynik3);


        ramka.getContentPane().add(BorderLayout.SOUTH, dol);
        dol.add(BorderLayout.NORTH, wyniki);

        przycisk.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ramka.repaint();
                int ile = lista.size();
                if (ile &amp;gt;= 1) {
                    int tekst1 = lista.get(0).ile();
                    wynik.setText(&quot; &quot; + tekst1);
                }
                if (ile &amp;gt;= 2) {
                    int tekst2 = lista.get(1).ile();
                    wynik2.setText(&quot; &quot; + tekst2);
                }

                if (ile &amp;gt;= 3) {
                    int tekst3 = lista.get(2).ile();
                    wynik3.setText(&quot; &quot; + tekst3);
                }

            }


        });
        panelGlowny = new JPanel();
        ramka.getContentPane().add(BorderLayout.CENTER, panelGlowny);

    }

    public void tworzGUI4(int ilosc) {

        panelGlowny = new JPanel();
        panelGlowny.setLayout(new BoxLayout(panelGlowny, BoxLayout.X_AXIS));

        for (int i = 0; i &amp;lt;= ilosc &amp;amp;&amp;amp; i &amp;lt; 3; i++) {
            Panel1 panel = new Panel1();
            lista.add(panel);
            panelGlowny.add(panel);
        }

        ramka.getContentPane().add(BorderLayout.CENTER, panelGlowny);
    }

        public class Lista implements ActionListener {


            @Override
            public void actionPerformed(ActionEvent e) {

                ramka.remove(panelGlowny);
                lista.removeAll(lista);
                wynikLista.removeAll(wynikLista);
                JComboBox cb = (JComboBox) e.getSource();
                int ilosc = cb.getSelectedIndex();
                tworzGUI4(ilosc);
                ramka.repaint();
                wynik.setText(null);
                wynik2.setText(null);
                wynik3.setText(null);


            }
        }
    }


&lt;/pre&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
import javax.swing.*;
import java.awt.*;

public class Panel1 extends JPanel {

    int losowy2;

    public void paintComponent(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;


        g2d.setColor(Color.BLACK);
        g2d.fillRect(10, 10, 50, 50);

        int losowy = (int) (Math.random() * 6 + 1);
        losowy2 = losowy;
        g2d.setColor(Color.BLUE);
        int x = 10;
        int y = 10;

        for (int i = 0; (i&amp;lt;losowy) &amp;amp; (i&amp;lt;3); i++) {
            g2d.fillOval(x, y, 10, 10);
            x += 20;
        }
        if (losowy &amp;gt; 3) {
            x = 10;
            y += 30;

            for (int i = 0; i &amp;lt; losowy - 3; i++) {
                g2d.fillOval(x, y, 10, 10);
                x += 20;
            }
        }
    }
    public int ile(){
        return losowy2;
    }
}


&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/563748/java-aplikacja-okienkowa-a-odswiezanie-i-kompilacja-do-pliku-jar</guid>
<pubDate>Tue, 29 Mar 2022 16:28:20 +0000</pubDate>
</item>
<item>
<title>cpp aplikacja okienkowa (przyciski)</title>
<link>https://forum.pasja-informatyki.pl/559095/cpp-aplikacja-okienkowa-przyciski</link>
<description>

&lt;p&gt;cześć chciałbym w moim skrypcie zmienić kolor przycisku&lt;/p&gt;



&lt;pre class=&quot;brush:plain;highlight:[51,52];&quot; title=&quot;skrypt&quot;&gt;
#include &amp;lt;windows.h&amp;gt;

/* This is where all the input to the window goes to */
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
	switch(Message) {
		
		/* Upon destruction, tell the main thread to stop */
		case WM_DESTROY: {
			PostQuitMessage(0);
			break;
		}
		
		/* All other messages (a lot of them) are processed using default procedures */
		default:
			return DefWindowProc(hwnd, Message, wParam, lParam);
	}
	return 0;
}

/* The 'main' function of Win32 GUI programs: this is where execution starts */
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
	WNDCLASSEX wc; /* A properties struct of our window */
	HWND hwnd; /* A 'HANDLE', hence the H, or a pointer to our window */
	MSG msg; /* A temporary location for all messages */

	/* zero out the struct and set the stuff we want to modify */
	memset(&amp;amp;wc,0,sizeof(wc));
	wc.cbSize		 = sizeof(WNDCLASSEX);
	wc.lpfnWndProc	 = WndProc; /* This is where we will send messages to */
	wc.hInstance	 = hInstance;
	wc.hCursor		 = LoadCursor(NULL, IDC_ARROW);
	
	/* White, COLOR_WINDOW is just a #define for a system color, try Ctrl+Clicking it */
	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
	wc.lpszClassName = &quot;WindowClass&quot;;
	wc.hIcon		 = LoadIcon(NULL, IDI_APPLICATION); /* Load a standard icon */
	wc.hIconSm		 = LoadIcon(NULL, IDI_APPLICATION); /* use the name &quot;A&quot; to use the project icon */

	if(!RegisterClassEx(&amp;amp;wc)) {
		MessageBox(NULL, &quot;Window Registration Failed!&quot;,&quot;Error!&quot;,MB_ICONEXCLAMATION|MB_OK);
		return 0;
	}

	hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,&quot;WindowClass&quot;,&quot;Np. okno&quot;,WS_VISIBLE|WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT, /* x */
		CW_USEDEFAULT, /* y */
		640, /* width */
		480, /* height */
		NULL,NULL,hInstance,NULL);
		
	HWND Przycisk = CreateWindowEx( 0, &quot;BUTTON&quot;, &quot;przycisk&quot;, WS_CHILD | WS_VISIBLE,
	0, 0, 640, 30, hwnd, NULL, hInstance, NULL );

	if(hwnd == NULL) {
		MessageBox(NULL, &quot;Window Creation Failed!&quot;,&quot;Error!&quot;,MB_ICONEXCLAMATION|MB_OK);
		return 0;
	}

	/*
		This is the heart of our program where all input is processed and 
		sent to WndProc. Note that GetMessage blocks code flow until it receives something, so
		this loop will not produce unreasonably high CPU usage
	*/
	while(GetMessage(&amp;amp;msg, NULL, 0, 0) &amp;gt; 0) { /* If no error is received... */
		TranslateMessage(&amp;amp;msg); /* Translate key codes to chars if present */
		DispatchMessage(&amp;amp;msg); /* Send it to WndProc */
	}
	return msg.wParam;
}
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;chodzi o linie 51, 52 jak zmodyfikować te&amp;nbsp;linijki by przycisk mialy bitmape/tlo/czy jakies png&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/559095/cpp-aplikacja-okienkowa-przyciski</guid>
<pubDate>Mon, 17 Jan 2022 14:59:19 +0000</pubDate>
</item>
<item>
<title>Aplikacja Okienkowa C++</title>
<link>https://forum.pasja-informatyki.pl/518875/aplikacja-okienkowa-c</link>
<description>Witam chciałbym zrobić aplikacje okienkową w C++ ale nie wiem z jakiego programu mam z korzystać ponieważ C++ Borland Builder 6 nie działa mi zależało mi by na darmowym programie ale bez ograniczenia czasu do na przykład 30 dni z góry dziękuje za odpowiedzi.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/518875/aplikacja-okienkowa-c</guid>
<pubDate>Sat, 28 Nov 2020 13:45:40 +0000</pubDate>
</item>
<item>
<title>Prosta aplikacja okienkowa - wybór biblioteki</title>
<link>https://forum.pasja-informatyki.pl/516768/prosta-aplikacja-okienkowa-wybor-biblioteki</link>
<description>

&lt;p&gt;Cześć wszystkim!&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Niebawem będę potrzebował napisać prosty interfejs graficzny do projektu na ocenę, tylko problem jest taki, że nigdy tego nie robiłem, więc nie mam bladego pojęcia jaką bibliotekę wybrać i jakie są zalety poszczególnych bibliotek.&amp;nbsp;
&lt;br&gt;
Pytając mojego prowadzącego mówił mi, że kiedyś bawił się&amp;nbsp;&lt;strong&gt;Windows Forms&lt;/strong&gt;, więc również się zastanawiam nad tym wyborem, ale natrafiłem również na coś takiego jak biblioteka&amp;nbsp;&lt;strong&gt;WinAPI&amp;nbsp;&lt;/strong&gt;oraz&amp;nbsp;&lt;strong&gt;Qt&lt;/strong&gt;.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Cały projekt będę pisał w&amp;nbsp;&lt;strong&gt;C++&lt;/strong&gt;, głównie zależy mi na prostocie oraz przejrzystości aplikacji, nie spodziewam się, że pisany przeze mnie interfejs będzie miał nie wiadomo jakie funkcje.&amp;nbsp;Jak wy zaczynaliście? Może powinienem wybrać jeszcze inną bibliotekę? Chętnie się dowiem, jakie każdy z was ma doświadczenie w tym zakresie oraz wysłucham waszych rad.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Co do interfejsu, to jeśli ta informacja pomoże, to będzie on dotyczył baz danych. Jednak na ten moment nie wiem jeszcze dokładnie jakie funkcje będę musiał wprowadzić, dlatego już teraz szukam odpowiedniej biblioteki, bym mógł sobie o wszystkim na spokojnie poczytać i zaplanować.&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/516768/prosta-aplikacja-okienkowa-wybor-biblioteki</guid>
<pubDate>Mon, 16 Nov 2020 13:02:20 +0000</pubDate>
</item>
<item>
<title>Tablica w tabeli SQL</title>
<link>https://forum.pasja-informatyki.pl/472864/tablica-w-tabeli-sql</link>
<description>Cześć, witajcie&lt;br /&gt;
&lt;br /&gt;
Zamierzam, a właściwie jestem w trakcie tworzenia aplikacji WPF. Jest to panel administracyjny dla jakiejś kliniki. &lt;br /&gt;
&lt;br /&gt;
Łączę tutaj WPF z Entity. Zrobiłem już bazę danych, a w niej jedną tabelę z danymi użytkownika i danymi do logowania.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Mam teraz dwa pytania. &lt;br /&gt;
&lt;br /&gt;
1. Czy dane użytkownika i dane do logowania mogą być w tej samej tabeli, czy raczej wygląda to żenująco i lepiej rozbić to na dwie tabele?&lt;br /&gt;
&lt;br /&gt;
2. Chciałbym oczywiście mieć możliwość dodawania dyżurów. Myślałem, by stworzyć nową tabelę w mojej bazie danych i zrobić listę czy też tablicę, bo przecież nie wiem ile dyżurów będę wpisywać. Czy to jest dobry pomysł? &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Chętnie przyjmę rady od doświadczonych kolegów. Jestem również otwarty na krytykę. &lt;br /&gt;
&lt;br /&gt;
Z góry dziękuję za odpowiedzi</description>
<category>C#</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/472864/tablica-w-tabeli-sql</guid>
<pubDate>Sun, 23 Feb 2020 14:56:50 +0000</pubDate>
</item>
<item>
<title>Visual Studio program okienkowy do obliczania współrzędnych metodą biegunową</title>
<link>https://forum.pasja-informatyki.pl/260776/visual-studio-program-okienkowy-do-obliczania-wspolrzednych-metoda-biegunowa</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Czy mógłby ktoś pomóc/napisać aplikacje okienkową w Visual Studio polegającą na obliczaniu współrzędnych metodą biegunową ?&lt;br /&gt;
Z góry dziękuję za wszelką pomoc</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/260776/visual-studio-program-okienkowy-do-obliczania-wspolrzednych-metoda-biegunowa</guid>
<pubDate>Fri, 09 Jun 2017 14:52:46 +0000</pubDate>
</item>
</channel>
</rss>