Browse Source

samples

dev
esoe 2 years ago
parent
commit
1427acf59d
  1. BIN
      java/labs/DEV-J120.Задача 4.pdf
  2. BIN
      java/labs/j120-lab3.pdf
  3. BIN
      java/labs/j130-lab1.pdf
  4. 125
      java/samples/collections/CollectionExample.java
  5. 131
      java/samples/collections/CollectionExample2.java
  6. 69
      java/samples/collections/Person.java
  7. 68
      java/samples/collections/User.java
  8. 60
      java/samples/file/FileReaderAndWriter.java
  9. 49
      java/samples/file/FileReaderAndWriter2.java
  10. 14
      java/samples/pecs/City.java
  11. 14
      java/samples/pecs/Country.java
  12. 17
      java/samples/pecs/District.java
  13. 62
      java/samples/pecs/RulesPECS.java
  14. 14
      java/samples/pecs/Street.java
  15. 26
      java/samples/pecs/rulespecs2/City.java
  16. 25
      java/samples/pecs/rulespecs2/Country.java
  17. 27
      java/samples/pecs/rulespecs2/District.java
  18. 52
      java/samples/pecs/rulespecs2/RulesPECS2.java
  19. 30
      java/samples/pecs/rulespecs2/Street.java
  20. 57
      java/samples/properties/PropertiesExample.java
  21. 99
      java/samples/properties/swing1/AuthorizationFrame.java
  22. 124
      java/samples/properties/swing1/MainFrame.java
  23. 74
      java/samples/properties/swing1/Person.java
  24. 76
      java/samples/properties/swing1/PersonStore.java
  25. 31
      java/samples/properties/swing1/PropertiesSwing.java
  26. 104
      java/samples/properties/swing2/AuthenticationFrame.java
  27. 162
      java/samples/properties/swing2/MainFrame.java
  28. 72
      java/samples/properties/swing2/PersonStore.java
  29. 25
      java/samples/properties/swing2/PropertiesSwing2.java
  30. 67
      java/samples/properties/swing2/User.java
  31. 21
      java/samples/properties/swing2/UserCheck.java
  32. 34
      java/samples/swing/dev_j2022_2/Dev_j2022_2.java
  33. 68
      java/samples/swing/dev_j2022_2/Device.java
  34. 48
      java/samples/swing/dev_j2022_2/ElectronicDevice.java
  35. 22
      java/samples/swing/dev_j2022_2/MechanicalDevice.java

BIN
java/labs/DEV-J120.Задача 4.pdf

Binary file not shown.

BIN
java/labs/j120-lab3.pdf

Binary file not shown.

BIN
java/labs/j130-lab1.pdf

Binary file not shown.

125
java/samples/collections/CollectionExample.java

@ -0,0 +1,125 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package collectionexample;
import java.io.File;
import java.io.FileReader;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
/**
*
* @author denis
*/
public class CollectionExample {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//collectionInteger();
collectionPerson();
}
public static void collectionPerson(){
System.out.println("-----------------ArrayList------------------");
List<Person> intArray = new ArrayList<>();
intArray.add(new Person("Boby", 11));
intArray.add(new Person("Andrey", 4));
intArray.add(new Person("Boby", 1));
intArray.add(new Person("Boby", 10));
intArray.add(new Person("Boby", 5));
intArray.forEach(System.out::println);
System.out.println("-----------------LinkedList------------------");
List<Person> intLink = new LinkedList<>(intArray);
intLink.forEach(System.out::println);
System.out.println("-----------------HashSet------------------");
Set<Person> intHashSet = new HashSet<>(intArray);
intHashSet.forEach(System.out::println);
System.out.println("-----------------TreeSet------------------");
// Set<Person> intTreeSet = new TreeSet<>(new Comparator<Person>() {
// @Override
// public int compare(Person o1, Person o2) {
// int res = o2.name.compareTo(o1.name);
// if(res==0) res = o2.phone.compareTo(o1.phone);
// return res;
// }
// });
Set<Person> intTreeSet = new TreeSet<>((o1, o2) -> {
int res = o2.name.compareTo(o1.name);
if(res==0) res = o2.phone.compareTo(o1.phone);
return res;
});
//Set<Person> intTreeSet = new TreeSet<>((o1, o2) -> o2.name.compareTo(o1.name));
intTreeSet.addAll(intLink);
intTreeSet.forEach(System.out::println);
System.out.println("-----------------HashMap------------------");
Map<Integer, Person> maps = new HashMap<>();
maps.put(intArray.get(0).phone, intArray.get(0));
maps.put(intArray.get(1).phone, intArray.get(1));
maps.put(intArray.get(2).phone, intArray.get(2));
maps.put(intArray.get(3).phone, intArray.get(3));
maps.put(intArray.get(4).phone, intArray.get(4));
maps.forEach((e1, e2) -> {System.out.println(e1 + ": " + e2);});
}
public static void collectionInteger(){
System.out.println("-----------------ArrayList------------------");
List<Integer> intArray = new ArrayList<>();
intArray.add(50);
intArray.add(26);
intArray.add(26);
intArray.add(50);
intArray.add(50);
intArray.forEach(System.out::println);
System.out.println("-----------------LinkedList------------------");
List<Integer> intLink = new LinkedList<>(intArray);
intLink.forEach(System.out::println);
System.out.println("-----------------HashSet------------------");
Set<Integer> intHashSet = new HashSet<>(intArray);
intHashSet.forEach(System.out::println);
System.out.println("-----------------TreeSet------------------");
Set<Integer> intTreeSet = new TreeSet<>(intArray);
intTreeSet.forEach(System.out::println);
System.out.println("-----------------HashMap------------------");
Map<String, Integer> maps = new HashMap<>();
maps.put("One", intArray.get(0));
maps.put("Two", intArray.get(1));
maps.put("Three", intArray.get(2));
maps.put("Four", intArray.get(3));
maps.put("Five", intArray.get(4));
maps.forEach((e1, e2) -> {System.out.println(e1 + ": " + e2);});
System.out.println("-----------------LinkedHashMap------------------");
Map<String, Integer> mapsLink = new LinkedHashMap<>();
mapsLink.put("One", intArray.get(0));
mapsLink.put("Two", intArray.get(1));
mapsLink.put("Three", intArray.get(2));
mapsLink.put("Four", intArray.get(3));
mapsLink.put("Five", intArray.get(4));
mapsLink.forEach((e1, e2) -> {System.out.println(e1 + ": " + e2);});
}
}

131
java/samples/collections/CollectionExample2.java

@ -0,0 +1,131 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package collectionexample2;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
/**
*
* @author denis
*/
public class CollectionExample2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
unique();
//simple();
}
private static void unique(){
System.out.println("--------------------ArrayList-------------------------");
List<User> arrayList = new ArrayList<>();
arrayList.add(new User("Andrey", 15));
arrayList.add(new User("Andrey", 20));
arrayList.add(new User("Andrey", 15));
arrayList.add(new User("Andrey", 16));
System.out.println("contains=" + arrayList.contains(new User("Andrey", 15)));
arrayList.forEach(System.out::println);
{
System.out.println("--------------------LinkedList-------------------------");
List<User> collection = new LinkedList<>(arrayList);
collection.forEach(System.out::println);
}
System.out.println("--------------------HashSet-------------------------");
{
System.out.println("--------------------LinkedList-------------------------");
Set<User> collection = new HashSet<>(arrayList);
collection.forEach(System.out::println);
}
System.out.println("--------------------TreeSet-------------------------");
{
System.out.println("--------------------LinkedList-------------------------");
SortedSet<User> collection = new TreeSet<>(arrayList);
collection.forEach(System.out::println);
}
System.out.println("--------------------HashMap-------------------------");
{
Map<Integer, User> mapColl = new HashMap<>();
mapColl.put(1, new User("Andrey", 15));
mapColl.put(10, new User("Andrey", 15));
mapColl.put(5, new User("Andrey", 20));
mapColl.put(9, new User("Andrey", 16));
System.out.println("contains=" + mapColl.containsValue(new User("Andrey", 15)));
mapColl.entrySet().forEach(e -> System.out.println(e));
}
System.out.println("--------------------LinkedHashMap-------------------------");
{
Map<Integer, User> mapColl = new LinkedHashMap<>();
mapColl.put(1, new User("Andrey", 15));
mapColl.put(10, new User("Andrey", 15));
mapColl.put(5, new User("Andrey", 20));
mapColl.put(9, new User("Andrey", 16));
System.out.println("contains=" + mapColl.containsValue(new User("Andrey", 15)));
mapColl.entrySet().forEach(e -> System.out.println(e));
}
}
private static void simple(){
System.out.println("--------------------ArrayList-------------------------");
List<String> arrayList = new ArrayList<>();
arrayList.add("Once");
arrayList.add("Two");
arrayList.add("Two");
arrayList.add("Two");
arrayList.add("Three");
arrayList.add("Four");
arrayList.add("Five");
arrayList.add("Five");
arrayList.forEach(System.out::println);
System.out.println("--------------------LinkedList-------------------------");
List<String> linkedList = new LinkedList<>(arrayList);
linkedList.forEach(System.out::println);
System.out.println("--------------------HashSet-------------------------");
Set<String> hashSet = new HashSet<>(arrayList);
hashSet.forEach(System.out::println);
System.out.println("--------------------TreeSet-------------------------");
SortedSet<String> sorted = new TreeSet<>(arrayList);
sorted.forEach(System.out::println);
System.out.println("--------------------HashMap-------------------------");
Map<Integer, String> mapColl = new HashMap<>();
mapColl.put(1, "Once");
mapColl.put(10, "Once");
mapColl.put(5, "Two");
mapColl.put(9, null);
mapColl.put(0, "Five");
mapColl.entrySet().forEach(e -> System.out.println(e));
System.out.println("--------------------LinkedHashMap-------------------------");
Map<Integer, String> hashMap = new LinkedHashMap<>();
hashMap.put(1, "Once");
hashMap.put(10, "Once");
hashMap.put(5, "Two");
hashMap.put(9, null);
hashMap.put(0, "Five");
hashMap.entrySet().forEach(e -> System.out.println(e));
}
}

69
java/samples/collections/Person.java

@ -0,0 +1,69 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package collectionexample;
import java.util.Objects;
/**
*
* @author denis
*/
public class Person implements Comparable<Person>{
public String name;
public Integer phone;
public Person(String name, Integer phone) {
this.name = name;
this.phone = phone;
}
@Override
public String toString() {
return "Person{" + "name=" + name + ", phone=" + phone + '}';
}
@Override
public int hashCode() {
int hash = 3;
hash = 37 * hash + Objects.hashCode(this.name);
hash = 37 * hash + Objects.hashCode(this.phone);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Person other = (Person) obj;
if (!Objects.equals(this.name, other.name)) {
return false;
}
if (!Objects.equals(this.phone, other.phone)) {
return false;
}
if (!Objects.equals(this.hashCode(), other.hashCode())) {
return false;
}
return true;
}
@Override
public int compareTo(Person person) {
int res = this.name.compareTo(person.name);
if(res==0) res = this.phone.compareTo(person.phone);
return res;
}
}

68
java/samples/collections/User.java

@ -0,0 +1,68 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package collectionexample2;
import java.util.Objects;
/**
*
* @author denis
*/
public class User implements Comparable<User>{
String name;
Integer age;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User{" + "name=" + name + ", age=" + age + '}';
}
@Override
public int hashCode() {
int hash = 7;
hash = 37 * hash + Objects.hashCode(this.name);
hash = 37 * hash + Objects.hashCode(this.age);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final User other = (User) obj;
if (!Objects.equals(this.name, other.name)) {
return false;
}
if (!Objects.equals(this.age, other.age)) {
return false;
}
if (!Objects.equals(this.hashCode(), other.hashCode())) {
return false;
}
return true;
}
@Override
public int compareTo(User o) {
int res = this.name.compareTo(o.name);
if(res == 0) res = this.age.compareTo(o.age);
return res;
}
}

60
java/samples/file/FileReaderAndWriter.java

@ -0,0 +1,60 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package filereaderandwriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author denis
*/
public class FileReaderAndWriter {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
File file = new File("Text.txt");
if(!file.exists()) try {
file.createNewFile();
} catch (IOException ex) {
Logger.getLogger(FileReaderAndWriter.class.getName()).log(Level.SEVERE, null, ex);
}
if(file.canWrite()){
String line = "Hello world!";
try (FileWriter writer = new FileWriter(file, true)) {
writer.append("\n" + line);
} catch (IOException ex) {
Logger.getLogger(FileReaderAndWriter.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(file.canRead()){
String line = "";
try(FileReader reader = new FileReader(file)){
char[]buf = new char[5];
int c =0;
while((c=reader.read(buf))!=-1){
line += new String(buf, 0, c);
}
}catch (IOException ex) {
Logger.getLogger(FileReaderAndWriter.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(line);
}
}
}

49
java/samples/file/FileReaderAndWriter2.java

@ -0,0 +1,49 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package filereaderandwriter2;
import java.io.File;
import java.io.*;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author denis
*/
public class FileReaderAndWriter2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
File file = new File("SameFile.txt");
if(!file.exists()) try {
file.createNewFile();
} catch (IOException ex) {
Logger.getLogger(FileReaderAndWriter2.class.getName()).log(Level.SEVERE, null, ex);
}
String message = "Hello world";
try (FileWriter writer = new FileWriter(file, true)) {
writer.append("\n" + message);
} catch (IOException ex) {
}
try(FileReader reader = new FileReader(file)){
StringBuffer buffer = new StringBuffer();
char[] cbuf = new char[1024];
int count = 0;
while((count = reader.read(cbuf)) != -1){
buffer.append(new String(cbuf, 0, count));
}
System.out.println(buffer.toString());
}catch(IOException e) {}
}
}

14
java/samples/pecs/City.java

@ -0,0 +1,14 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs;
/**
*
* @author denis
*/
public class City extends Country{
}

14
java/samples/pecs/Country.java

@ -0,0 +1,14 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs;
/**
*
* @author denis
*/
public class Country {
}

17
java/samples/pecs/District.java

@ -0,0 +1,17 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs;
/**
*
* @author denis
*/
public class District extends City{
public void methods(){
}
}

62
java/samples/pecs/RulesPECS.java

@ -0,0 +1,62 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author denis
*/
public class RulesPECS {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
RulesPECS rules = new RulesPECS();
List<Country> countrys = new ArrayList<>();
countrys.add(new Country());
List<City> citys = new ArrayList<>();
citys.add(new City());
List<District> districts = new ArrayList<>();
districts.add(new District());
List<Street> streets = new ArrayList<>();
streets.add(new Street());
rules.producer(countrys);
rules.producer(citys);
rules.producer(districts);
rules.producer(streets);
rules.consumer(countrys);
rules.consumer(citys);
rules.consumer(districts);
rules.consumer(streets);
}
public void producer (List<? extends District> list){
list.add(new Country());
list.add(new City());
list.add(new District());
list.add(new Street());
}
public void consumer (List<? super District> list){
Object district = list.get(0);
if(district instanceof Country) System.out.println("Object is Country");
if(district instanceof City) System.out.println("Object is City");
if(district instanceof District) System.out.println("Object is District");
if(district instanceof Street) System.out.println("Object is Street");
list.add(new Country());
list.add(new City());
list.add(new District());
list.add(new Street());
}
}

14
java/samples/pecs/Street.java

@ -0,0 +1,14 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs;
/**
*
* @author denis
*/
public class Street extends District{
}

26
java/samples/pecs/rulespecs2/City.java

@ -0,0 +1,26 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs2;
/**
*
* @author denis
*/
public class City extends Country{
protected String nameCity;
public City(String nameCity, String nameCountry) {
super(nameCountry);
this.nameCity = nameCity;
}
@Override
public String toString() {
return "City{" + "nameCountry=" + nameCountry + "nameCity=" + nameCity + '}';
}
}

25
java/samples/pecs/rulespecs2/Country.java

@ -0,0 +1,25 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs2;
/**
*
* @author denis
*/
public class Country {
protected String nameCountry;
public Country(String nameCountry) {
this.nameCountry = nameCountry;
}
@Override
public String toString() {
return "Country{" + "nameCountry=" + nameCountry + '}';
}
}

27
java/samples/pecs/rulespecs2/District.java

@ -0,0 +1,27 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs2;
/**
*
* @author denis
*/
public class District extends City{
protected String nameDistrict;
public District(String nameDistrict, String nameCity, String nameCountry) {
super(nameCity, nameCountry);
this.nameDistrict = nameDistrict;
}
@Override
public String toString() {
return "District{" + "nameCountry=" + nameCountry + "nameCity=" + nameCity + "nameDistrict=" + nameDistrict + '}';
}
}

52
java/samples/pecs/rulespecs2/RulesPECS2.java

@ -0,0 +1,52 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs2;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author denis
*/
public class RulesPECS2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
RulesPECS2 pecs = new RulesPECS2();
List<Country> countrys = new ArrayList<>();
pecs.consumerCity(countrys);
pecs.consumerStreet(countrys);
pecs.consumerDistrict(countrys);
countrys.forEach(System.out::println);
}
public void producer(List<? extends District> list){
}
public void consumerStreet(List<? super Street> list){
list.add(new Street("Ленинский пр.", "Кировский", "Санкт-Петербург", "Россия"));
list.add(new Street("Московский пр.", "Московский", "Санкт-Петербург", "Россия"));
list.add(new Street("Стачек пр.", "Кировский", "Санкт-Петербург", "Россия"));
}
public void consumerDistrict(List<? super District> list){
list.add(new District("Невский", "Санкт-Петербург", "Россия"));
}
public void consumerCity(List<? super City> list){
list.add(new City("Санкт-Петербург", "Россия"));
}
public void method(List<District> list){
}
}

30
java/samples/pecs/rulespecs2/Street.java

@ -0,0 +1,30 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package rulespecs2;
/**
*
* @author denis
*/
public class Street extends District{
protected String nameStreet;
public Street(String nameStreet, String nameDistrict, String nameCity, String nameCountry) {
super(nameDistrict, nameCity, nameCountry);
this.nameStreet = nameStreet;
}
@Override
public String toString() {
return "Street{" + "nameCountry=" + nameCountry + "nameCity=" + nameCity + "nameDistrict=" + nameDistrict + "nameStreet=" + nameStreet + '}';
}
}

57
java/samples/properties/PropertiesExample.java

@ -0,0 +1,57 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesexample;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author denis
*/
public class PropertiesExample {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
File fileProp = new File("prop.properties");
if(!fileProp.exists()) try {
fileProp.createNewFile();
} catch (IOException ex) {
Logger.getLogger(PropertiesExample.class.getName()).log(Level.SEVERE, null, ex);
}
Properties properties = new Properties();
try {
properties.load(new FileReader(fileProp));
} catch (FileNotFoundException ex) {
Logger.getLogger(PropertiesExample.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(PropertiesExample.class.getName()).log(Level.SEVERE, null, ex);
}
// properties.put("key", "key value");
// properties.put("key", "key value2");
// properties.put("key2", "key value2");
System.out.println(properties.getProperty("nameK", "Key is not exist"));
try {
properties.store(new FileWriter(fileProp), null);
} catch (IOException ex) {
Logger.getLogger(PropertiesExample.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

99
java/samples/properties/swing1/AuthorizationFrame.java

@ -0,0 +1,99 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.util.List;
import java.util.Set;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
*
* @author denis
*/
public class AuthorizationFrame extends JFrame{
public AuthorizationFrame(){
init();
setTitle("Authorization");
setLocationRelativeTo(null);
setSize(400, 250);
//pack();
setResizable(false);
setVisible(true);
}
private void init(){
// Создаём верхнюю метку "Autorization" и размещаем её в панели "northPanel"
JPanel northPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 40, 20));
JLabel authLabel = new JLabel("Authorization");
northPanel.add(authLabel);
GridBagLayout gridLayout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
JPanel centerPanel = new JPanel(gridLayout);
JLabel usernameLabel = new JLabel("username");
JTextField usernameField = new JTextField(30);
JLabel passwordLabel = new JLabel("password");
JPasswordField passwordField = new JPasswordField(30);
constraints.gridx = 0;
constraints.gridy = 0;
centerPanel.add(usernameLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 0;
centerPanel.add(usernameField, constraints);
constraints.gridx = 0;
constraints.gridy = 1;
centerPanel.add(passwordLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 1;
centerPanel.add(passwordField, constraints);
//Создаём две кнопки "SingIn" и "Cancel" и размещаем их в панели "southPanel"
JButton singinButton = new JButton("SingIn");
singinButton.addActionListener(e -> {
Set<Person> persons = PersonStore.getPersonStore().getPersons();
persons.forEach(person -> {
if(usernameField.getText().equals(person.getUsername()) &&
passwordField.getText().equals(person.getPassword())){
new MainFrame();
}
});
});
JButton cancelButton = new JButton("Cancel");
cancelButton.addActionListener(e -> {
System.exit(0);
});
JPanel southPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 40, 20));
southPanel.add(singinButton);
southPanel.add(cancelButton);
//Помещаем панели в главном контейнере
getContentPane().setLayout(new BorderLayout());
getContentPane().add(northPanel, BorderLayout.NORTH);
getContentPane().add(centerPanel, BorderLayout.CENTER);
getContentPane().add(southPanel, BorderLayout.SOUTH);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}

124
java/samples/properties/swing1/MainFrame.java

@ -0,0 +1,124 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Label;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
* @author denis
*/
public class MainFrame extends JFrame{
private File file;
private Properties properties;
private JTextField currentField = new JTextField(50);
private JTextField powerField = new JTextField(50);
private JTextField frecField = new JTextField(50);
public MainFrame(){
setTitle("Propetries");
setSize(600, 600);
Container container = getContentPane();
GridLayout layout = new GridLayout(0, 1);
container.setLayout(layout);
container.add(initManageButtons());
container.add(initFields("Current: ", currentField));
container.add(initFields("Power: ", powerField));
container.add(initFields("Frec: ", frecField));
setLocationRelativeTo(null);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
pack();
setVisible(true);
}
private JPanel initFields(String textLabel, JTextField field){
JPanel panel = new JPanel(new FlowLayout());
JLabel label = new JLabel(textLabel);
panel.add(label);
panel.add(field);
return panel;
}
private void initFileChooser(){
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = chooser.showOpenDialog(this);
if(result == JFileChooser.APPROVE_OPTION){
file = chooser.getSelectedFile();
}
}
private JPanel initManageButtons(){
JPanel panel = new JPanel(new FlowLayout(10, 20, 20));
JButton openButton = new JButton("Open file");
panel.add(openButton);
openButton.addActionListener(e -> {
initFileChooser();
if(file!=null && file.exists() && file.canRead()){
loadProperties();
if(properties!=null) {
if(currentField!=null) currentField.setText(properties.getProperty("Current"));
if(powerField!=null) powerField.setText(properties.getProperty("Power"));
if(frecField!=null) frecField.setText(properties.getProperty("Frec"));
}
}
});
JButton saveButton = new JButton("Save file");
panel.add(saveButton);
saveButton.addActionListener(e -> {
if(file!=null && properties!=null){
properties.put("Current", currentField.getText());
properties.put("Power", powerField.getText());
properties.put("Frec", frecField.getText());
saveProperties();
}
});
return panel;
}
private void loadProperties(){
properties = new Properties();
try {
properties.load(new FileReader(file));
} catch (FileNotFoundException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void saveProperties(){
if(properties!=null){
try {
properties.store(new FileWriter(file), null);
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}

74
java/samples/properties/swing1/Person.java

@ -0,0 +1,74 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing;
import java.io.Serializable;
import java.util.Objects;
/**
*
* @author denis
*/
public class Person implements Serializable{
private String username;
private String password;
public Person(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Person{" + "username=" + username + ", password=" + password + '}';
}
@Override
public int hashCode() {
int hash = 3;
hash = 67 * hash + Objects.hashCode(this.username);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Person other = (Person) obj;
if (!Objects.equals(this.username, other.username) && hashCode()!=Objects.hashCode(obj)) {
return false;
}
return true;
}
}

76
java/samples/properties/swing1/PersonStore.java

@ -0,0 +1,76 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author denis
*/
public final class PersonStore {
private static Set<Person> persons = new HashSet<>();
private static PersonStore personStore;
private File file;
private PersonStore(){
file = new File("persons.txt");
if(!file.exists()) try {
file.createNewFile();
} catch (IOException ex) {
Logger.getLogger(PropertiesSwing.class.getName()).log(Level.SEVERE, null, ex);
}
readStore();
}
public static PersonStore getPersonStore(){
if (personStore == null) personStore = new PersonStore();
return personStore;
}
public void addPerson(Person person){
persons.add(person);
saveStore();
}
public HashSet<Person> getPersons(){
return new HashSet<>(persons);
}
private void readStore(){
if(file==null || !file.canRead()) return;
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file))) {
Object result = ois.readObject();
persons = result!=null ? (HashSet<Person>)result : new HashSet<>();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void saveStore(){
if(file==null || !file.canRead()) return;
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file))) {
oos.writeObject(persons);
} catch (FileNotFoundException ex) {
Logger.getLogger(PropertiesSwing.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(PropertiesSwing.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

31
java/samples/properties/swing1/PropertiesSwing.java

@ -0,0 +1,31 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing;
/**
*
* @author denis
*/
public class PropertiesSwing {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// PersonStore personStore = PersonStore.getPersonStore();
// personStore.addPerson(new Person("Andrey", "Andrey"));
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new AuthorizationFrame();
}
});
//new AuthorizationFrame();
}
}

104
java/samples/properties/swing2/AuthenticationFrame.java

@ -0,0 +1,104 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing2;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.HeadlessException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
*
* @author denis
*/
public class AuthenticationFrame extends JFrame{
public AuthenticationFrame() {
setTitle("Authentication");
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
init();
setSize(500, 200);
setResizable(false);
setLocationRelativeTo(null);
//pack();
setVisible(true);
}
private void init() {
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
JMenu menu = new JMenu("File");
bar.add(menu);
JMenuItem openItem = new JMenuItem("Open");
JMenuItem closeItem = new JMenuItem("Close");
menu.add(openItem);
menu.add(closeItem);
closeItem.addActionListener(e -> {
System.exit(0);
});
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
Container container = getContentPane();
container.setLayout(gbl);
constraints.gridx = 1;
constraints.gridy = 0;
JLabel authLabel = new JLabel("Authorization");
container.add(authLabel, constraints);
JLabel usernameLanbel = new JLabel("username");
JTextField usernameText = new JTextField(30);
constraints.gridx = 0;
constraints.gridy = 1;
container.add(usernameLanbel, constraints);
constraints.gridx = 1;
constraints.gridy = 1;
container.add(usernameText, constraints);
JLabel passwordLanbel = new JLabel("password");
JPasswordField passwordText = new JPasswordField(30);
constraints.gridx = 0;
constraints.gridy = 2;
container.add(passwordLanbel, constraints);
constraints.gridx = 1;
constraints.gridy = 2;
container.add(passwordText, constraints);
JButton singIn = new JButton("SingIn");
JButton cancel = new JButton("Cancel");
JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 30, 5));
constraints.gridx = 1;
constraints.gridy = 3;
container.add(panel, constraints);
panel.add(singIn);
panel.add(cancel);
singIn.addActionListener(e -> {
UserCheck check = new UserCheck();
if(check.check(usernameText.getText(), passwordText.getText())) System.out.println("Авторизация успешна");
else System.out.println("Имя пользователя или пароль не верны");
});
cancel.addActionListener(e -> {
System.exit(0);
});
}
}

162
java/samples/properties/swing2/MainFrame.java

@ -0,0 +1,162 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing2;
import java.awt.*;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
* @author denis
*/
public class MainFrame extends JFrame{
private Properties property;
private File file;
private JTextField urlField;
private JTextField usernameField;
private JTextField passwordField;
public MainFrame(){
setTitle("Properties");
Container root = getContentPane();
root.setLayout(new BorderLayout(20, 20));
//Добавляем группу кнопок
root.add(createButtons(), BorderLayout.NORTH);
//Добавляем группу меток и текстовых полей
root.add(createDataArea());
setSize(800, 300);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
private JPanel createButtons(){
JPanel panel = new JPanel(new FlowLayout());
JButton loadButton = new JButton("LOAD");
JButton saveButton = new JButton("SAVE");
panel.add(loadButton);
panel.add(saveButton);
loadButton.addActionListener(e -> {
loadProperties();
if(property!=null){
if (urlField!=null) urlField.setText(property.getProperty("URL", ""));
if (usernameField!=null) usernameField.setText(property.getProperty("username", ""));
if (passwordField!=null) passwordField.setText(property.getProperty("password", ""));
}
});
saveButton.addActionListener(e -> {
String url = urlField!=null ? urlField.getText() : "";
String username = usernameField!=null ? usernameField.getText() : "";
String password = passwordField!=null ? passwordField.getText() : "";
if(property!=null){
property.put("URL", url);
property.put("username", username);
property.put("password", password);
}
saveProperties();
});
return panel;
}
private JPanel createDataArea(){
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
JLabel urlLabel = new JLabel("URL:");
urlField = new JTextField(50);
constraints.gridx = 0;
constraints.gridy = 0;
panel.add(urlLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 0;
panel.add(urlField, constraints);
JLabel usernameLabel = new JLabel("username:");
usernameField = new JTextField(50);
constraints.gridx = 0;
constraints.gridy = 1;
panel.add(usernameLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 1;
panel.add(usernameField, constraints);
JLabel passwordLabel = new JLabel("password:");
passwordField = new JTextField(50);
constraints.gridx = 0;
constraints.gridy = 2;
panel.add(passwordLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 2;
panel.add(passwordField, constraints);
return panel;
}
private void loadProperties(){
property = new Properties();
if(file==null) file = new File("C:\\PropDir\\prop2.properties");
//Проверяем существование файла
if(!file.exists()) {
try {
file.createNewFile();
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
if(file.canRead()){
try (FileReader reader = new FileReader(file)) {
property.load(reader);
} catch (FileNotFoundException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
private void saveProperties(){
if(file==null) file = new File("C:\\PropDir\\prop2.properties");
if(!file.exists()) try {
file.createNewFile();
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
if(file.canWrite()){
try (FileWriter writer = new FileWriter(file)) {
property.store(writer, null);
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}

72
java/samples/properties/swing2/PersonStore.java

@ -0,0 +1,72 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing2;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashSet;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author denis
*/
public class PersonStore {
private static Set<User> persons = new HashSet<>();
private static PersonStore personStore;
private File file;
private PersonStore(){
file = new File("persons.txt");
if(!file.exists()) try {
file.createNewFile();
} catch (IOException ex) {
ex.printStackTrace();
}else readStore();
}
public static PersonStore getPersonStore(){
if (personStore == null) personStore = new PersonStore();
return personStore;
}
public void addUser(User user){
persons.add(user);
saveStore();
}
public HashSet<User> getPersons(){
return new HashSet<>(persons);
}
private void readStore(){
if(file==null || !file.canRead()) return;
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file))) {
Object result = ois.readObject();
persons = result!=null ? (HashSet<User>)result : new HashSet<>();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void saveStore(){
if(file==null || !file.canRead()) return;
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file))) {
oos.writeObject(persons);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

25
java/samples/properties/swing2/PropertiesSwing2.java

@ -0,0 +1,25 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing2;
/**
*
* @author denis
*/
public class PropertiesSwing2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
PersonStore store = PersonStore.getPersonStore();
store.getPersons().forEach(System.out::println);
//new MainFrame();
new AuthenticationFrame();
}
}

67
java/samples/properties/swing2/User.java

@ -0,0 +1,67 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing2;
import java.io.Serializable;
import java.util.Objects;
/**
*
* @author denis
*/
public class User implements Serializable{
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
@Override
public int hashCode() {
int hash = 3;
hash = 53 * hash + Objects.hashCode(this.username);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final User other = (User) obj;
if (!Objects.equals(this.username, other.username)) {
return false;
}
if (!Objects.equals(this.hashCode(), other.hashCode()) ) {
return false;
}
return true;
}
@Override
public String toString() {
return "User{" + "username=" + username + ", password=" + password + '}';
}
}

21
java/samples/properties/swing2/UserCheck.java

@ -0,0 +1,21 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing2;
/**
*
* @author denis
*/
public class UserCheck {
public boolean check(String username, String password){
if(username==null || username.isEmpty() || password == null || password.isEmpty()) return false;
for (User user : PersonStore.getPersonStore().getPersons()){
if(user.getUsername().equals(username) && user.getPassword().equals(password)) return true;
}
return false;
}
}

34
java/samples/swing/dev_j2022_2/Dev_j2022_2.java

@ -0,0 +1,34 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package dev_j2022_2;
/**
*
* @author denis
*/
public class Dev_j2022_2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Device[] devices = new Device[5];
String line = " Hello";
devices[0]=new ElectronicDevice();
devices[1]=new MechanicalDevice();
devices[2]=new ElectronicDevice();
devices[3]=new MechanicalDevice();
devices[4]=new Device();
for(int i=0 ; i<devices.length ; i++){
devices[i].print();
}
ElectronicDevice e1 = new ElectronicDevice();
Device e2 = new ElectronicDevice();
((ElectronicDevice)e2).setPower(15);
}
}

68
java/samples/swing/dev_j2022_2/Device.java

@ -0,0 +1,68 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package dev_j2022_2;
/**
*
* @author denis
*/
public class Device {
private int length;
private int width;
private int height;
public Device(){
length = 9;
width = 9;
height = 9;
}
public Device(int length, int width) {
this.length = length;
this.width = width;
}
public Device(int length, int width, int height) {
this.length = length;
this.width = width;
this.height = height;
}
public int getLength(){
return length;
}
public void setLength(int length){
if(length>0) this.length = length;
else throw new IllegalArgumentException("Значение length должно быть больше 0");
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public void print(){
System.out.println("Device: demention=" + length + "/" + width + "/" + height);
}
public void printAll(Device[] devices){
for(int i=0 ; i<devices.length ; i++){
devices[i].print();
}
}
}

48
java/samples/swing/dev_j2022_2/ElectronicDevice.java

@ -0,0 +1,48 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package dev_j2022_2;
/**
*
* @author denis
*/
public class ElectronicDevice extends Device{
private int current;
private int voltage;
private int power;
@Override
public void print() {
System.out.println("Device: demention=" + getLength() + "/" + getWidth() + "/" + getHeight() +
", electronicCharacter=" + voltage + "V");
}
public int getCurrent() {
return current;
}
public void setCurrent(int current) {
this.current = current;
}
public int getVoltage() {
return voltage;
}
public void setVoltage(int voltage) {
this.voltage = voltage;
}
public int getPower() {
return power;
}
public void setPower(int power) {
this.power = power;
}
}

22
java/samples/swing/dev_j2022_2/MechanicalDevice.java

@ -0,0 +1,22 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package dev_j2022_2;
/**
*
* @author denis
*/
public class MechanicalDevice extends Device{
private String name = "velo";
@Override
public void print() {
System.out.println("Device: demention=" + getLength() + "/" + getWidth() + "/" + getHeight() +
", typeDevice=" + name);
}
}
Loading…
Cancel
Save