Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx-javam
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
alx-javam
Commits
5220e623
Commit
5220e623
authored
May 09, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Aplikacja Pogoda - pierwsze kroki
parent
6ed04557
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
428 additions
and
0 deletions
+428
-0
.gitignore
20240509_Pogoda/.gitignore
+1
-0
pom.xml
20240509_Pogoda/pom.xml
+24
-0
PobierzPogode1.java
20240509_Pogoda/src/main/java/pobieranie/PobierzPogode1.java
+28
-0
PobierzPogode2.java
20240509_Pogoda/src/main/java/pobieranie/PobierzPogode2.java
+38
-0
App.java
20240509_Pogoda/src/main/java/pogoda/App.java
+8
-0
WyswietlPogodeDlaWspolrzednych.form
.../src/main/java/pogoda/WyswietlPogodeDlaWspolrzednych.form
+141
-0
WyswietlPogodeDlaWspolrzednych.java
.../src/main/java/pogoda/WyswietlPogodeDlaWspolrzednych.java
+188
-0
No files found.
20240509_Pogoda/.gitignore
0 → 100644
View file @
5220e623
/target/
20240509_Pogoda/pom.xml
0 → 100644
View file @
5220e623
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.mycompany
</groupId>
<artifactId>
20240509_Pogoda
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<packaging>
jar
</packaging>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<maven.compiler.source>
21
</maven.compiler.source>
<maven.compiler.target>
21
</maven.compiler.target>
<exec.mainClass>
pogoda.App
</exec.mainClass>
</properties>
<dependencies>
<dependency>
<groupId>
org.glassfish
</groupId>
<artifactId>
jakarta.json
</artifactId>
<version>
2.0.1
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
20240509_Pogoda/src/main/java/pobieranie/PobierzPogode1.java
0 → 100644
View file @
5220e623
package
pobieranie
;
import
java.io.IOException
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.http.HttpClient
;
import
java.net.http.HttpRequest
;
import
java.net.http.HttpResponse
;
// Pobieramy pogodę dla konkretnej lokalizacji (współrzędne Warszawy)
// i wypisujemy surowe dane JSON.
public
class
PobierzPogode1
{
public
static
void
main
(
String
[]
args
)
{
String
adres
=
"https://api.open-meteo.com/v1/forecast?latitude=52&longitude=21¤t_weather=true"
;
try
{
HttpClient
client
=
HttpClient
.
newHttpClient
();
HttpRequest
request
=
HttpRequest
.
newBuilder
(
new
URI
(
adres
)).
build
();
HttpResponse
<
String
>
response
=
client
.
send
(
request
,
HttpResponse
.
BodyHandlers
.
ofString
());
String
tekstJSON
=
response
.
body
();
System
.
out
.
println
(
tekstJSON
);
}
catch
(
URISyntaxException
|
IOException
|
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
}
20240509_Pogoda/src/main/java/pobieranie/PobierzPogode2.java
0 → 100644
View file @
5220e623
package
pobieranie
;
import
jakarta.json.Json
;
import
jakarta.json.JsonObject
;
import
jakarta.json.JsonReader
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.http.HttpClient
;
import
java.net.http.HttpRequest
;
import
java.net.http.HttpResponse
;
// Pobieramy pogodę dla konkretnej lokalizacji (współrzędne Warszawy)
// parsujemy JSONa i wyciągamy informację o temperaturze
public
class
PobierzPogode2
{
public
static
void
main
(
String
[]
args
)
{
String
adres
=
"https://api.open-meteo.com/v1/forecast?latitude=52&longitude=21¤t_weather=true"
;
try
{
HttpClient
client
=
HttpClient
.
newHttpClient
();
HttpRequest
request
=
HttpRequest
.
newBuilder
(
new
URI
(
adres
)).
build
();
HttpResponse
<
InputStream
>
response
=
client
.
send
(
request
,
HttpResponse
.
BodyHandlers
.
ofInputStream
());
JsonReader
reader
=
Json
.
createReader
(
response
.
body
());
JsonObject
json
=
reader
.
readObject
();
System
.
out
.
println
(
"Cały JSON: "
+
json
);
JsonObject
weather
=
json
.
getJsonObject
(
"current_weather"
);
System
.
out
.
println
(
"weather: "
+
weather
);
double
temperatura
=
weather
.
getJsonNumber
(
"temperature"
).
doubleValue
();
System
.
out
.
println
(
"temperatura: "
+
temperatura
);
}
catch
(
URISyntaxException
|
IOException
|
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
}
20240509_Pogoda/src/main/java/pogoda/App.java
0 → 100644
View file @
5220e623
package
pogoda
;
public
class
App
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Hello World!"
);
}
}
20240509_Pogoda/src/main/java/pogoda/WyswietlPogodeDlaWspolrzednych.form
0 → 100644
View file @
5220e623
<?xml version="1.0" encoding="UTF-8" ?>
<Form
version=
"1.5"
maxVersion=
"1.9"
type=
"org.netbeans.modules.form.forminfo.JFrameFormInfo"
>
<Properties>
<Property
name=
"defaultCloseOperation"
type=
"int"
value=
"3"
/>
</Properties>
<SyntheticProperties>
<SyntheticProperty
name=
"formSizePolicy"
type=
"int"
value=
"1"
/>
<SyntheticProperty
name=
"generateCenter"
type=
"boolean"
value=
"false"
/>
</SyntheticProperties>
<AuxValues>
<AuxValue
name=
"FormSettings_autoResourcing"
type=
"java.lang.Integer"
value=
"0"
/>
<AuxValue
name=
"FormSettings_autoSetComponentName"
type=
"java.lang.Boolean"
value=
"false"
/>
<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"
attributes=
"0"
>
<EmptySpace
max=
"-2"
attributes=
"0"
/>
<Group
type=
"103"
groupAlignment=
"0"
max=
"-2"
attributes=
"0"
>
<Component
id=
"jButton1"
alignment=
"1"
max=
"32767"
attributes=
"0"
/>
<Group
type=
"102"
alignment=
"1"
attributes=
"0"
>
<Group
type=
"103"
groupAlignment=
"0"
attributes=
"0"
>
<Component
id=
"jLabel1"
min=
"-2"
pref=
"228"
max=
"-2"
attributes=
"0"
/>
<Component
id=
"jLabel2"
alignment=
"0"
min=
"-2"
pref=
"228"
max=
"-2"
attributes=
"0"
/>
</Group>
<EmptySpace
type=
"unrelated"
max=
"-2"
attributes=
"0"
/>
<Group
type=
"103"
groupAlignment=
"0"
attributes=
"0"
>
<Component
id=
"jSpinner2"
alignment=
"0"
min=
"-2"
pref=
"119"
max=
"-2"
attributes=
"0"
/>
<Component
id=
"jSpinner1"
min=
"-2"
pref=
"119"
max=
"-2"
attributes=
"0"
/>
</Group>
</Group>
<Group
type=
"102"
alignment=
"1"
attributes=
"0"
>
<Component
id=
"jLabel3"
min=
"-2"
pref=
"114"
max=
"-2"
attributes=
"0"
/>
<EmptySpace
max=
"32767"
attributes=
"0"
/>
<Component
id=
"jLabel_Temperatura"
min=
"-2"
pref=
"169"
max=
"-2"
attributes=
"0"
/>
</Group>
</Group>
<EmptySpace
pref=
"18"
max=
"32767"
attributes=
"0"
/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout
dim=
"1"
>
<Group
type=
"103"
groupAlignment=
"0"
attributes=
"0"
>
<Group
type=
"102"
attributes=
"0"
>
<EmptySpace
min=
"-2"
pref=
"41"
max=
"-2"
attributes=
"0"
/>
<Group
type=
"103"
groupAlignment=
"3"
attributes=
"0"
>
<Component
id=
"jSpinner1"
alignment=
"3"
min=
"-2"
max=
"-2"
attributes=
"0"
/>
<Component
id=
"jLabel1"
alignment=
"3"
min=
"-2"
max=
"-2"
attributes=
"0"
/>
</Group>
<EmptySpace
min=
"-2"
pref=
"29"
max=
"-2"
attributes=
"0"
/>
<Group
type=
"103"
groupAlignment=
"3"
attributes=
"0"
>
<Component
id=
"jSpinner2"
alignment=
"3"
min=
"-2"
max=
"-2"
attributes=
"0"
/>
<Component
id=
"jLabel2"
alignment=
"3"
min=
"-2"
max=
"-2"
attributes=
"0"
/>
</Group>
<EmptySpace
type=
"separate"
max=
"-2"
attributes=
"0"
/>
<Component
id=
"jButton1"
min=
"-2"
pref=
"64"
max=
"-2"
attributes=
"0"
/>
<EmptySpace
type=
"separate"
max=
"-2"
attributes=
"0"
/>
<Group
type=
"103"
groupAlignment=
"3"
attributes=
"0"
>
<Component
id=
"jLabel3"
alignment=
"3"
min=
"-2"
pref=
"31"
max=
"-2"
attributes=
"0"
/>
<Component
id=
"jLabel_Temperatura"
alignment=
"3"
min=
"-2"
pref=
"31"
max=
"-2"
attributes=
"0"
/>
</Group>
<EmptySpace
pref=
"259"
max=
"32767"
attributes=
"0"
/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
<Component
class=
"javax.swing.JSpinner"
name=
"jSpinner1"
>
<Properties>
<Property
name=
"font"
type=
"java.awt.Font"
editor=
"org.netbeans.beaninfo.editors.FontEditor"
>
<Font
name=
"Segoe UI"
size=
"18"
style=
"0"
/>
</Property>
<Property
name=
"model"
type=
"javax.swing.SpinnerModel"
editor=
"org.netbeans.modules.form.editors2.SpinnerModelEditor"
>
<SpinnerModel
initial=
"52.0"
maximum=
"90.0"
minimum=
"-90.0"
numberType=
"java.lang.Double"
stepSize=
"1.0"
type=
"number"
/>
</Property>
</Properties>
</Component>
<Component
class=
"javax.swing.JSpinner"
name=
"jSpinner2"
>
<Properties>
<Property
name=
"font"
type=
"java.awt.Font"
editor=
"org.netbeans.beaninfo.editors.FontEditor"
>
<Font
name=
"Segoe UI"
size=
"18"
style=
"0"
/>
</Property>
<Property
name=
"model"
type=
"javax.swing.SpinnerModel"
editor=
"org.netbeans.modules.form.editors2.SpinnerModelEditor"
>
<SpinnerModel
initial=
"21.0"
maximum=
"180.0"
minimum=
"-180.0"
numberType=
"java.lang.Double"
stepSize=
"1.0"
type=
"number"
/>
</Property>
</Properties>
</Component>
<Component
class=
"javax.swing.JLabel"
name=
"jLabel1"
>
<Properties>
<Property
name=
"font"
type=
"java.awt.Font"
editor=
"org.netbeans.beaninfo.editors.FontEditor"
>
<Font
name=
"Segoe UI"
size=
"18"
style=
"0"
/>
</Property>
<Property
name=
"text"
type=
"java.lang.String"
value=
"Szerokość geograficzna"
/>
</Properties>
</Component>
<Component
class=
"javax.swing.JLabel"
name=
"jLabel2"
>
<Properties>
<Property
name=
"font"
type=
"java.awt.Font"
editor=
"org.netbeans.beaninfo.editors.FontEditor"
>
<Font
name=
"Segoe UI"
size=
"18"
style=
"0"
/>
</Property>
<Property
name=
"text"
type=
"java.lang.String"
value=
"Długość geograficzna"
/>
</Properties>
</Component>
<Component
class=
"javax.swing.JButton"
name=
"jButton1"
>
<Properties>
<Property
name=
"font"
type=
"java.awt.Font"
editor=
"org.netbeans.beaninfo.editors.FontEditor"
>
<Font
name=
"Segoe UI"
size=
"24"
style=
"1"
/>
</Property>
<Property
name=
"text"
type=
"java.lang.String"
value=
"Pobierz pogodę"
/>
</Properties>
<Events>
<EventHandler
event=
"actionPerformed"
listener=
"java.awt.event.ActionListener"
parameters=
"java.awt.event.ActionEvent"
handler=
"jButton1ActionPerformed"
/>
</Events>
</Component>
<Component
class=
"javax.swing.JLabel"
name=
"jLabel3"
>
<Properties>
<Property
name=
"font"
type=
"java.awt.Font"
editor=
"org.netbeans.beaninfo.editors.FontEditor"
>
<Font
name=
"Segoe UI"
size=
"18"
style=
"0"
/>
</Property>
<Property
name=
"text"
type=
"java.lang.String"
value=
"Temperatura"
/>
</Properties>
</Component>
<Component
class=
"javax.swing.JLabel"
name=
"jLabel_Temperatura"
>
<Properties>
<Property
name=
"font"
type=
"java.awt.Font"
editor=
"org.netbeans.beaninfo.editors.FontEditor"
>
<Font
name=
"Segoe UI"
size=
"18"
style=
"1"
/>
</Property>
<Property
name=
"text"
type=
"java.lang.String"
value=
"jLabel4"
/>
</Properties>
</Component>
</SubComponents>
</Form>
20240509_Pogoda/src/main/java/pogoda/WyswietlPogodeDlaWspolrzednych.java
0 → 100644
View file @
5220e623
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package
pogoda
;
import
jakarta.json.Json
;
import
jakarta.json.JsonObject
;
import
jakarta.json.JsonReader
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.http.HttpClient
;
import
java.net.http.HttpRequest
;
import
java.net.http.HttpResponse
;
/**
*
* @author kurs
*/
public
class
WyswietlPogodeDlaWspolrzednych
extends
javax
.
swing
.
JFrame
{
/**
* Creates new form WyswietlPogodeDlaWspolrzednych
*/
public
WyswietlPogodeDlaWspolrzednych
()
{
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
()
{
jSpinner1
=
new
javax
.
swing
.
JSpinner
();
jSpinner2
=
new
javax
.
swing
.
JSpinner
();
jLabel1
=
new
javax
.
swing
.
JLabel
();
jLabel2
=
new
javax
.
swing
.
JLabel
();
jButton1
=
new
javax
.
swing
.
JButton
();
jLabel3
=
new
javax
.
swing
.
JLabel
();
jLabel_Temperatura
=
new
javax
.
swing
.
JLabel
();
setDefaultCloseOperation
(
javax
.
swing
.
WindowConstants
.
EXIT_ON_CLOSE
);
jSpinner1
.
setFont
(
new
java
.
awt
.
Font
(
"Segoe UI"
,
0
,
18
));
// NOI18N
jSpinner1
.
setModel
(
new
javax
.
swing
.
SpinnerNumberModel
(
52.0d
,
-
90.0d
,
90.0d
,
1.0d
));
jSpinner2
.
setFont
(
new
java
.
awt
.
Font
(
"Segoe UI"
,
0
,
18
));
// NOI18N
jSpinner2
.
setModel
(
new
javax
.
swing
.
SpinnerNumberModel
(
21.0d
,
-
180.0d
,
180.0d
,
1.0d
));
jLabel1
.
setFont
(
new
java
.
awt
.
Font
(
"Segoe UI"
,
0
,
18
));
// NOI18N
jLabel1
.
setText
(
"Szerokość geograficzna"
);
jLabel2
.
setFont
(
new
java
.
awt
.
Font
(
"Segoe UI"
,
0
,
18
));
// NOI18N
jLabel2
.
setText
(
"Długość geograficzna"
);
jButton1
.
setFont
(
new
java
.
awt
.
Font
(
"Segoe UI"
,
1
,
24
));
// NOI18N
jButton1
.
setText
(
"Pobierz pogodę"
);
jButton1
.
addActionListener
(
new
java
.
awt
.
event
.
ActionListener
()
{
public
void
actionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
jButton1ActionPerformed
(
evt
);
}
});
jLabel3
.
setFont
(
new
java
.
awt
.
Font
(
"Segoe UI"
,
0
,
18
));
// NOI18N
jLabel3
.
setText
(
"Temperatura"
);
jLabel_Temperatura
.
setFont
(
new
java
.
awt
.
Font
(
"Segoe UI"
,
1
,
18
));
// NOI18N
jLabel_Temperatura
.
setText
(
"jLabel4"
);
javax
.
swing
.
GroupLayout
layout
=
new
javax
.
swing
.
GroupLayout
(
getContentPane
());
getContentPane
().
setLayout
(
layout
);
layout
.
setHorizontalGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addContainerGap
()
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
,
false
)
.
addComponent
(
jButton1
,
javax
.
swing
.
GroupLayout
.
Alignment
.
TRAILING
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
Short
.
MAX_VALUE
)
.
addGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
TRAILING
,
layout
.
createSequentialGroup
()
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel1
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
228
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addComponent
(
jLabel2
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
228
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addPreferredGap
(
javax
.
swing
.
LayoutStyle
.
ComponentPlacement
.
UNRELATED
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jSpinner2
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
119
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addComponent
(
jSpinner1
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
119
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)))
.
addGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
TRAILING
,
layout
.
createSequentialGroup
()
.
addComponent
(
jLabel3
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
114
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addPreferredGap
(
javax
.
swing
.
LayoutStyle
.
ComponentPlacement
.
RELATED
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
Short
.
MAX_VALUE
)
.
addComponent
(
jLabel_Temperatura
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
169
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)))
.
addContainerGap
(
18
,
Short
.
MAX_VALUE
))
);
layout
.
setVerticalGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
41
,
41
,
41
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jSpinner1
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addComponent
(
jLabel1
))
.
addGap
(
29
,
29
,
29
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jSpinner2
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addComponent
(
jLabel2
))
.
addGap
(
18
,
18
,
18
)
.
addComponent
(
jButton1
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
64
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel3
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
31
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addComponent
(
jLabel_Temperatura
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
31
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addContainerGap
(
259
,
Short
.
MAX_VALUE
))
);
pack
();
}
// </editor-fold>//GEN-END:initComponents
private
void
jButton1ActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
//GEN-FIRST:event_jButton1ActionPerformed
double
lat
=
(
Double
)
jSpinner1
.
getValue
();
double
lon
=
(
Double
)
jSpinner2
.
getValue
();
String
adres
=
"https://api.open-meteo.com/v1/forecast?latitude="
+
lat
+
"&longitude="
+
lon
+
"¤t_weather=true"
;
try
{
HttpClient
client
=
HttpClient
.
newHttpClient
();
HttpRequest
request
=
HttpRequest
.
newBuilder
(
new
URI
(
adres
)).
build
();
HttpResponse
<
InputStream
>
response
=
client
.
send
(
request
,
HttpResponse
.
BodyHandlers
.
ofInputStream
());
JsonReader
reader
=
Json
.
createReader
(
response
.
body
());
JsonObject
json
=
reader
.
readObject
();
JsonObject
weather
=
json
.
getJsonObject
(
"current_weather"
);
double
temperatura
=
weather
.
getJsonNumber
(
"temperature"
).
doubleValue
();
jLabel_Temperatura
.
setText
(
String
.
valueOf
(
temperatura
));
}
catch
(
URISyntaxException
|
IOException
|
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
//GEN-LAST:event_jButton1ActionPerformed
/**
* @param args the command line arguments
*/
public
static
void
main
(
String
args
[])
{
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try
{
for
(
javax
.
swing
.
UIManager
.
LookAndFeelInfo
info
:
javax
.
swing
.
UIManager
.
getInstalledLookAndFeels
())
{
if
(
"Nimbus"
.
equals
(
info
.
getName
()))
{
javax
.
swing
.
UIManager
.
setLookAndFeel
(
info
.
getClassName
());
break
;
}
}
}
catch
(
ClassNotFoundException
ex
)
{
java
.
util
.
logging
.
Logger
.
getLogger
(
WyswietlPogodeDlaWspolrzednych
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
InstantiationException
ex
)
{
java
.
util
.
logging
.
Logger
.
getLogger
(
WyswietlPogodeDlaWspolrzednych
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
IllegalAccessException
ex
)
{
java
.
util
.
logging
.
Logger
.
getLogger
(
WyswietlPogodeDlaWspolrzednych
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
javax
.
swing
.
UnsupportedLookAndFeelException
ex
)
{
java
.
util
.
logging
.
Logger
.
getLogger
(
WyswietlPogodeDlaWspolrzednych
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
//</editor-fold>
/* Create and display the form */
java
.
awt
.
EventQueue
.
invokeLater
(
new
Runnable
()
{
public
void
run
()
{
new
WyswietlPogodeDlaWspolrzednych
().
setVisible
(
true
);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private
javax
.
swing
.
JButton
jButton1
;
private
javax
.
swing
.
JLabel
jLabel1
;
private
javax
.
swing
.
JLabel
jLabel2
;
private
javax
.
swing
.
JLabel
jLabel3
;
private
javax
.
swing
.
JLabel
jLabel_Temperatura
;
private
javax
.
swing
.
JSpinner
jSpinner1
;
private
javax
.
swing
.
JSpinner
jSpinner2
;
// End of variables declaration//GEN-END:variables
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment