Java/Первое окно: различия между версиями
Ilya (обсуждение | вклад) Отмена правки 130346, сделанной Volobuev Ilya (обсуждение) |
Оригинальный Xiaomi Redmi Note 4 Х 4 Х Смартфон 3 ГБ ОПЕРАТИВНОЙ ПАМЯТИ 32 ГБ ROM Snapdragon 625 Octa Core MIUI 8.1 Отпечатков Пальцев 5.5 "FHD 4 Г FDD LTE |
||
Строка 1: | Строка 1: | ||
Оригинал Xiaomi Redmi Note 4 Х 4 Х Смартфон 3 ГБ ОПЕРАТИВНОЙ ПАМЯТИ 32 ГБ ROM Snapdragon 625 Octa Core MIUI 8.1 Отпечатков Пальцев 5.5 "FHD 4 Г FDD LTE |
|||
{{Java/Chapters}} |
|||
Так как в большинстве своем сегодняшние начинающие программисты не любят окно командной строки - приведу пример оконного приложения. |
|||
Лучшая версия себя. Полюбившийся публике RedMi Note 4 стал еще лучше, переродившись в новой модели – Xiaomi RedMi Note 4 Pro. И что самое приятное, цена на телефон по-прежнему радует не меньше, чем и сами нововведения! |
|||
== Начнем с простого == |
|||
<source lang="java"> |
|||
Производитель:Xiaomi |
|||
import javax.swing.JFrame; |
|||
Разблокировка телефона:Да |
|||
Тип батареи:Не съёмная |
|||
public class MyWindowApp extends JFrame { //Наследуя от JFrame мы получаем всю функциональность окна |
|||
Разрешение дисплея:1920x1080 |
|||
Емкость батареи (мАч):4000mAh(Min) - 4100mAh(Typ) |
|||
public MyWindowApp(){ |
|||
Операционная система:Android |
|||
super("My First Window"); //Заголовок окна |
|||
Особенности:Гравитационный эффект,GPRS,Сенсорный экран,Сообщение,Bluetooth,Видеоплеер,Видеоплеер HD,Wi-Fi,Воспроизведение MP3,FM-радио,GPS-навигация,Передняя камера,Слоты карт памяти,E-mail,QWERTY-клавиатура |
|||
setBounds(100, 100, 200, 200); //Если не выставить |
|||
Модель Xiaomi:Редми Примечание 4X3 ГБ 32 ГБ |
|||
//размер и положение |
|||
Язык:Русский,Немецкий,Испанский,Польский,Турецкий,Английский,Норвежский,Итальянский,Французский,Португальский |
|||
//то окно будет мелкое и незаметное |
|||
Камера:13.0 MP |
|||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //это нужно для того чтобы при |
|||
Тип камеры:Передняя & задняя камера |
|||
//закрытии окна закрывалась и программа, |
|||
Количество SIM-карт:Две SIM-карты |
|||
//иначе она останется висеть в процессах |
|||
Дата выпуска:2017 |
|||
} |
|||
Сотовая связь:GSM/WCDMA/LTE |
|||
ПЗУ:32 ГБ |
|||
public static void main(String[] args) { //эта функция может быть и в другом классе |
|||
Состояние:Новое |
|||
MyWindowApp app = new MyWindowApp(); //Создаем экземпляр нашего приложения |
|||
Чёткость записи:1080P |
|||
app.setVisible(true); //С этого момента приложение запущено! |
|||
Размер дисплея:5,5 |
|||
} |
|||
Производитель процессора:Qualcomm |
|||
} |
|||
Процессор:Восьмиядерный |
|||
</source> |
|||
Дизайн:Стержень |
|||
Толщина:Ультра тонкий (<9mm) |
|||
Вот у нас и получилось ничего не делающее приложение! |
|||
Тип сенсорного экрана:Ёмкостный экран |
|||
Время Разговора:About 6-8 hours |
|||
== Делаем что-то полезное == |
|||
Режим диапазона:2SIM/Multi-Bands |
|||
Цвет дисплея:Цвет |
|||
Это конечно замечательно уметь показывать пустое окно, но мы хотим, чтобы оно приносило пользу! Создадим форму для подсчета ворон на заборе. Для этого будем отображать текущее количество ворон и с помощью двух кнопок добавлять или вычитать по одной. |
|||
ОЗУ:3 ГБ |
|||
Размер:151mm*76mm*8.45mm |
|||
=== Дизайн === |
|||
Язык:Chinese |
|||
Это то, что мы примерно хотим увидеть: |
|||
MIUI:MIUI 8.1 |
|||
{| border=1 |
|||
Fingerprint:Support |
|||
|colspan=2 style="background:red"|<font color="white">Вороносчет</font> |
|||
CPU:Snapdragon 625 Octa Core up to 2.0GHz |
|||
|- |
|||
TF Card:Support , up to 128GB |
|||
|colspan=2|'''Ворон на заборе : 666''' |
|||
2G:GSM B2/B3/B5/B8 |
|||
|- |
|||
3G:WCDMA B1/B2/B5/B8;TD-SCDMA B34/B39;CDMA2000/1X BC0 |
|||
|Ворона прилетела |
|||
4G:FDD-LTE B1/B3/ B5/B7/ B8;TD-LTE B38/B39/B40/B41(2555-2655MHz) |
|||
|Ворона улетела |
|||
Xiaomi Model:Xiaomi Redmi Note 4 X |
|||
|} |
|||
Цена: 9 870 руб. |
|||
=== Скелет программы === |
|||
Пишем программу: |
|||
Более детальный обзор на нашем сайте. www.xiaomi-redmi-note.tk |
|||
<source lang="java"> |
|||
import java.awt.*; |
|||
import java.awt.event.*; |
|||
import javax.swing.*; |
|||
public class VoronCalc extends JFrame { |
|||
private int voron = 0; |
|||
private JLabel countLabel; |
|||
private JButton addCrow; |
|||
private JButton removeCrow; |
|||
public VoronCalc(){ |
|||
super("Crow calculator"); |
|||
//Подготавливаем компоненты объекта |
|||
countLabel = new JLabel("Crows:" + voron); |
|||
addCrow = new JButton("Add Crow"); |
|||
removeCrow = new JButton("Remove Crow"); |
|||
//Подготавливаем временные компоненты |
|||
JPanel buttonsPanel = new JPanel(new FlowLayout()); |
|||
//Расставляем компоненты по местам |
|||
add(countLabel, BorderLayout.NORTH); //О размещении компонент поговорим позже |
|||
buttonsPanel.add(addCrow); |
|||
buttonsPanel.add(removeCrow); |
|||
add(buttonsPanel, BorderLayout.SOUTH); |
|||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); |
|||
} |
|||
public static void main(String[] args) { |
|||
VoronCalc app = new VoronCalc(); |
|||
app.setVisible(true); |
|||
app.pack(); //Эта команда подбирает оптимальный размер в зависимости от содержимого окна |
|||
} |
|||
} |
|||
</source> |
|||
После компиляции и запуска - получится что-то такое: |
|||
[[Файл:СrowCalc.png]] |
|||
<nowiki></nowiki> |
|||
=== Добавляем функциональность === |
|||
Пришло время добавить немного интерактивности. Нам нужно сделать 3 вещи: |
|||
# Научить кнопку addCrow добавлять 1 к переменной voron. |
|||
# Научить кнопку removeCrow вычитать 1 из переменной voron. |
|||
# Научить countLabel - обновлять свое значение в зависимости от содержимого переменной voron. |
|||
==== addCrow ==== |
|||
Добавляем [[Java/Listeners|listener]] для кнопки addCrow. |
|||
<source lang="java"> |
|||
addCrow.addActionListener(new ActionListener(){ |
|||
public void actionPerformed(ActionEvent e) { |
|||
voron = voron+1; //Добавляем одну ворону |
|||
updateCrowCounter(); //Сообщаем приложению, что количество ворон изменилось |
|||
} |
|||
}); |
|||
</source> |
|||
==== removeCrow ==== |
|||
Добавляем [[Java/Listeners|listener]] для кнопки removeCrow. |
|||
<source lang="java"> |
|||
removeCrow.addActionListener(new ActionListener(){ |
|||
public void actionPerformed(ActionEvent e) { |
|||
if( voron > 0 ) { |
|||
voron = voron - 1; |
|||
updateCrowCounter(); //Сообщаем приложению, что количество ворон изменилось |
|||
} |
|||
} |
|||
}); |
|||
</source> |
|||
==== updateCrowCounter ==== |
|||
<source lang="java"> |
|||
private void updateCrowCounter() { |
|||
countLabel.setText("Crows:" + voron); |
|||
} |
|||
</source> |
|||
=== Конечный результат === |
|||
* [[Java/Первое окно/VoronCalc.java|VoronCalc.java]] - главный класс программы |
|||
{{BookCat}} |
|||
[[en:Java Programming/Events and Buttons]] |
|||
[[pt:Java/Swing/Eventos e Action listeners]] |
Версия от 20:12, 7 апреля 2017
Оригинал Xiaomi Redmi Note 4 Х 4 Х Смартфон 3 ГБ ОПЕРАТИВНОЙ ПАМЯТИ 32 ГБ ROM Snapdragon 625 Octa Core MIUI 8.1 Отпечатков Пальцев 5.5 "FHD 4 Г FDD LTE
Лучшая версия себя. Полюбившийся публике RedMi Note 4 стал еще лучше, переродившись в новой модели – Xiaomi RedMi Note 4 Pro. И что самое приятное, цена на телефон по-прежнему радует не меньше, чем и сами нововведения!
Производитель:Xiaomi Разблокировка телефона:Да Тип батареи:Не съёмная Разрешение дисплея:1920x1080 Емкость батареи (мАч):4000mAh(Min) - 4100mAh(Typ) Операционная система:Android Особенности:Гравитационный эффект,GPRS,Сенсорный экран,Сообщение,Bluetooth,Видеоплеер,Видеоплеер HD,Wi-Fi,Воспроизведение MP3,FM-радио,GPS-навигация,Передняя камера,Слоты карт памяти,E-mail,QWERTY-клавиатура Модель Xiaomi:Редми Примечание 4X3 ГБ 32 ГБ Язык:Русский,Немецкий,Испанский,Польский,Турецкий,Английский,Норвежский,Итальянский,Французский,Португальский Камера:13.0 MP Тип камеры:Передняя & задняя камера Количество SIM-карт:Две SIM-карты Дата выпуска:2017 Сотовая связь:GSM/WCDMA/LTE ПЗУ:32 ГБ Состояние:Новое Чёткость записи:1080P Размер дисплея:5,5 Производитель процессора:Qualcomm Процессор:Восьмиядерный Дизайн:Стержень Толщина:Ультра тонкий (<9mm) Тип сенсорного экрана:Ёмкостный экран Время Разговора:About 6-8 hours Режим диапазона:2SIM/Multi-Bands Цвет дисплея:Цвет ОЗУ:3 ГБ Размер:151mm*76mm*8.45mm Язык:Chinese MIUI:MIUI 8.1 Fingerprint:Support CPU:Snapdragon 625 Octa Core up to 2.0GHz TF Card:Support , up to 128GB 2G:GSM B2/B3/B5/B8 3G:WCDMA B1/B2/B5/B8;TD-SCDMA B34/B39;CDMA2000/1X BC0 4G:FDD-LTE B1/B3/ B5/B7/ B8;TD-LTE B38/B39/B40/B41(2555-2655MHz) Xiaomi Model:Xiaomi Redmi Note 4 X
Цена: 9 870 руб.
Более детальный обзор на нашем сайте. www.xiaomi-redmi-note.tk