Читаем Java Code онлайн бесплатно
Java Code
Сборник самых разных java-исходников для начинающих разработчиков, пишущих под android или создающих десктопные java-приложения. Сборник ориентирован именно на начинающих программистов, которые уже кое-что знают и умеют разбираться в чужом коде.
Компьютеры и Интернет / Программирование / Книги по ITВ этой небольшой книге собраны самые разные java-исходники, которые могут быть полезны начинающим программистам. Здесь вы найдете примеры кода как для android-приложений, так и для десктопных java-программ. Искренне надеюсь, что этот сборник поможет вам создавать интересные и полезные приложения!
Внимание! Для удобного просмотра скопируйте код в любой редактор с подсветкой синтаксиса.
Вызывается окно с некоторым сообщением(«сообщение») и кнопками «ДА», «НЕТ» и «ЗАКРЫТЬ».
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;
}
}
Открывает окно выбора файла. Метод 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);
}
}
То же самое, что и в предыдущем примере, только для записи файла. Код неизвестных методов приводится ниже.
@FXML
private void saveItem(ActionEvent event){
if("".equals(t.getText)){
toast("Ничего нет для сохранения");
return;
}
FileChooser fileChooser = new FileChooser;
fileChooser.setTitle("Сохранение записи");
fileChooser.setInitialDirectory(new File(path));
fileChooser.setInitialFileName(dateToDay("Запись_от_dd_MMMM_yyyy_в_HH-mm-ss"));
File file = fileChooser.showSaveDialog(null);
if (file != null) {
recordInFile(t.getText,file.getAbsolutePath,false);
if("все заметки".equals(file.getName))return;
recordInFile("\n"+file.getName+" ("+dayOfWeek+")"+"\n"+
t.getText,path+System.getProperty("file.separator")+"все заметки", true);
label3.setText(file.getName);
}
}
void recordInFile(String text,String fileName,boolean b){
try(FileWriter sw = new FileWriter(fileName,b)) {
sw.write(text+"\n");
if(!b)
toast("Запись сохранена");
}catch(Exception e){
toast("Ошибка записи файла");
}
}
String readerFile(String s){
String str,f="";
try{
File file=new File(s);
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
while((str = br.readLine) != null){
f+=str+"\n";
}
}catch(IOException e){
toast("Ошибка чтения файла");
}
return f;
}
@FXML
private void exitItem(ActionEvent event){
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("ВЫХОД");
alert.setHeaderText("Выход из программы");
alert.setContentText("Вы действительно хотите выйти из программы?");
Optional
if (resultAlert.get == ButtonType.OK){
System.exit(0);
}
}
String dateToDay(String s){
Calendar calendar=new GregorianCalendar;
SimpleDateFormat sdf = new SimpleDateFormat(s);
return sdf.format(calendar.getTime);
}
String dayOfWeek{
Calendar calendar = Calendar.getInstance;
String s="";
switch(calendar.get(Calendar.DAY_OF_WEEK)){
case 1:
s="воскресенье";
break;
case 2:
s="понедельник";
break;
case 3:
s="вторник";
break;
case 4:
s="среда";
break;
case 5:
s="четверг";
break;
case 6:
s="пятница";
break;
case 7:
s="суббота";
break;
default:
break;
}
return s;
}
Этот метод можно встретить в вышеприведенных примерах. Попробуйте его в своих проектах и получите практически полную копию всплывающего сообщения как в android.
void toast(String toastMsg){
Stage toastStage=new Stage;
toastStage.setResizable(false);
toastStage.initStyle(StageStyle.TRANSPARENT);
Text text = new Text(toastMsg);
text.setFont(Font.font("Verdana", 20));
text.setFill(Color.WHITE);
StackPane root = new StackPane(text);
root.setStyle("-fx-background-radius: 10; -fx-background-color: rgba(0, 0, 0, 0.2); -fx-padding: 20px;");
root.setOpacity(0);
Scene scene = new Scene(root);
scene.setFill(Color.BLACK);
toastStage.setScene(scene);
toastStage.show;
Timeline tl1 = new Timeline;
KeyFrame fadeInKey1 = new KeyFrame(Duration.millis(500), new KeyValue (toastStage.getScene.getRoot.opacityProperty, 1));
tl1.getKeyFrames.add(fadeInKey1);
tl1.setOnFinished((ae) ->
{
new Thread( -> {
try
{
Thread.sleep(2000);
}
catch (InterruptedException e)
{
e.getMessage;
}
Timeline tl2 = new Timeline;





