Введение
В этой небольшой книге собраны самые разные java-исходники, которые могут быть полезны начинающим программистам. Здесь вы найдете примеры кода как для android-приложений, так и для десктопных java-программ. Искренне надеюсь, что этот сборник поможет вам создавать интересные и полезные приложения!
Внимание! Для удобного просмотра скопируйте код в любой редактор с подсветкой синтаксиса.
AlertDialog(android)
Вызывается окно с некоторым сообщением(«сообщение») и кнопками «ДА», «НЕТ» и «ЗАКРЫТЬ».
AlertDialog.Builder b=new AlertDialog.Builder(this);
b.setTitle("Сообщение");
b.setMessage("сообщение");
b.setCancelable(true);
b.setNegativeButton("НЕТ",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface di, int id){
di.cancel();
t.setText("Нет");
}
});
b.setPositiveButton("ДА",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface di,int id){
di.cancel();
t.setText("Да");
}
});
b.setNeutralButton("ЗАКРЫТЬ",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface di,int id){
di.cancel();
t.setText("Закрыть");
}
});
AlertDialog ad=b.create();
ad.show();
Метод для сбора средств
Можно использовать кошелек Яндекс.Денег. По срабатыванию метода launchBrowser стартует дефолтный браузер с загруженной визиткой в сервисе Яндекс.Деньги.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
launchBrowser("money.yandex.ru/to/номер_кошелька");
}
private void launchBrowser(String uriStr) {
Desktop d;
if (Desktop.isDesktopSupported()) {
d = Desktop.getDesktop();
if (d.isSupported(Desktop.Action.BROWSE)) {
URI uri;
try {
uri = new URI("http://" + uriStr);
d.browse(uri);
}
catch (IOException | URISyntaxException ioe) {
JOptionPane.showMessageDialog(null,"ERROR!","WARNING",JOptionPane.ERROR_MESSAGE);
}
}
}
}
Метод для отправки писем
Запускает почтовый клиент с уже заполненным полем адресата.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
launchMail(edit.getText());
}
private void launchMail(String mailTo) {
Desktop d;
if (Desktop.isDesktopSupported()) {
d = Desktop.getDesktop();
if (d.isSupported(Desktop.Action.MAIL)) {
URI uriMailTo;
try {
if (mailTo.length() > 0) {
uriMailTo = new URI("mailto", mailTo, null);
d.mail(uriMailTo);
} else {
d.mail();
}
}
catch (IOException | URISyntaxException ioe) {
JOptionPane.showMessageDialog(null,"ERROR!","WARNING",JOptionPane.ERROR_MESSAGE);
}
}
}
}
Логика для калькулятора ИМТ(Индекса Массы Тела)
Практически готовый калькулятор ИМТ. Может определять границы нормального веса, а также тип телосложения.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
float rost,ves,i,index;
String s,st,str;
try{
rost=Float.parseFloat(jTextField1.getText());
ves=Float.parseFloat(jTextField2.getText());
i=Float.parseFloat(jTextField3.getText());
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Введите допустимые значения во все поля","ОШИБКА!",JOptionPane.ERROR_MESSAGE);
return;
}
rost=rost/100;
index=ves/(rost*rost);
index=index*(pol/i);
st=discriminator(n,i);
str=normalMass(i, rost, pol);
if(index<16)s="Дефицит массы";
else if(index>=16&&index<20)s="Недостаточный вес";
else if(index>=20&&index<25)s="Норма";
else if(index>=25&&index<30)s="Предожирение";
else if(index>=30&&index<35)s="Первая степень ожирения";
else if(index>=35&&index<40)s="Вторая степень ожирения";
else s="Морбидное ожирение";
jTextArea1.setText(st+"\nBMI="+String.valueOf(index)+"("+s+")\n"+str);
}
String discriminator(int a,float b){
String s="";
switch(a){
case 0:
if(b<18)s="Пол: мужской.\nТип телосложения: астенический.";
else if(b>=18&&b<=20)s="Пол: мужской.\nТип телосложения: нормостенический.";
else s="Пол: мужской.\nТип телосложения: гиперстенический.";
break;
case 1:
if(b<15)s="Пол: женский.\nТип телосложения: астенический.";
else if(b>=15&&b<=17)s="Пол: женский.\nТип телосложения: нормостенический.";
else s="Пол: женский.\nТип телосложения: гиперстенический.";
break;
default:
break;
}
return s;
}
String normalMass(float x,float y,float z){
float im=x*(y*y)/z;
return "Нижняя граница нормального веса: "+20*im+" кг\nВерхняя граница нормального веса: "+25*im+" кг";
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextArea1.setText("");
}
private void buttonActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
n++;
switch(n){
case 1:
jButton4.setText("женский");
pol=16;
break;
case 2:
jButton4.setText("мужской");
pol=19;
n=0;
break;
}
}
Открытие записи через FileChooser
Открывает окно выбора файла. Метод readerFile – чтение из файла(см. ниже).
@FXML
private void openItem(ActionEvent event) {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Открытие записи");
fileChooser.setInitialDirectory(new File(path));
File file = fileChooser.showOpenDialog(null);
if (file != null) {
t.setText(readerFile(file.getAbsolutePath()));
label3.setText(file.getName());
}
}
Сохранение записи через FileChooser
То же самое, что и в предыдущем примере, только для записи файла. Код неизвестных методов приводится ниже.
@FXML
private void saveItem(ActionEvent event){
if("".equals(t.getText())){
toast("Ничего нет для сохранения");
return;
}
FileChooser fileChooser = new FileChooser();