powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Создание файла при щелчке по JButton
24 сообщений из 24, страница 1 из 1
Создание файла при щелчке по JButton
    #38318942
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал все по книжке, но не создает файл при щелчке по кнопке JButton
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
package javaapplication5;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class JavaApplication5 implements MouseListener{
   
   
    public static void main(String[] args) throws IOException {
                      
            JFrame frame = new JFrame ("new frame");
            frame.setSize(500, 500);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel panel = new JPanel();
            panel.setPreferredSize(new Dimension(300, 300));
            panel.setBackground(Color.WHITE);
            frame.add(panel);
            JButton button = new JButton ("button");
            panel.add(button);
            button.setSize(10, 10);
            button.setVisible(true);
            
    }         

    @Override
    public void mouseClicked(MouseEvent me) {
        //throw new UnsupportedOperationException("Not supported yet."); 
        File d = new File ("C:/mouseclick.txt");
       try {
           if (!d.exists())
               d.delete();
           else
               d.createNewFile();
       } catch (IOException ex) {
           Logger.getLogger(JavaApplication5.class.getName()).log(Level.SEVERE, null, ex);
       }
    }

    @Override
    public void mousePressed(MouseEvent me) {
      //  throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   
    }

    @Override
    public void mouseReleased(MouseEvent me) {
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   
    }

    @Override
    public void mouseEntered(MouseEvent me) {
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void mouseExited(MouseEvent me) {
       // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    }
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38318947
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArkadiСделал все по книжке, но не создает файл при щелчке по кнопке JButton
А почему должен?

А зачем было вываливать всю колбасу если и так всё понятно:
Код: java
1.
2.
3.
4.
           if (!d.exists())
               d.delete();
           else
               d.createNewFile();


Что этот код делает?
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38318988
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

этот кусочек делает проверку: если есть аналогичный файл, то удаляет. Если нет, то создает новый файл.
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38318994
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArkadiBlazkowicz,

этот кусочек делает проверку: если есть аналогичный файл, то удаляет. Если нет, то создает новый файл.
А восклицательный знак там для чего?
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38319062
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

понял, убрал, сделал так. все равно не работает

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public void mouseClicked(MouseEvent me) {
        //throw new UnsupportedOperationException("Not supported yet."); 
        File d = new File ("C:/mouseclick.txt");
       try {
           if (d.exists()){                 
               d.createNewFile();}
       } catch (IOException ex) {
           Logger.getLogger(JavaApplication5.class.getName()).log(Level.SEVERE, null, ex);
       }
    }
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38319079
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arkadiпонял
Что именно?

Код: java
1.
2.
3.
           
if (d.exists()){                 
               d.createNewFile();


Если файл уже существует, то давайте попробуем его создать. А если файла не существует то и хрен с ним. Так?
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38319116
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А следующим этапом - отказ операционной системы создавать файл в корне c:
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38319123
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
извиняюсь, что то не так. запутался.
Если файл уже существует то удалить ее и создать новый файл.
Если не существует, то создать.
Код: java
1.
2.
3.
4.
5.
6.
if (d.exists()) {
                     d.delete();                     
}
if (!d.exists()) {                     
                     d.createNewFile();
}
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38319130
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArkadiBlazkowicz,
извиняюсь, что то не так. запутался.
Если файл уже существует то удалить ее и создать новый файл.
Если не существует, то создать.

Код: java
1.
2.
3.
4.
5.
6.
if (d.exists()) {
                     d.delete();                     
}
if (!d.exists()) {                     
                     d.createNewFile();
}



Индуизм детектед, срочно читать про if else
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320640
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if (d.exists()) {
d.delete();
}
d.createNewFile();
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320715
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulT, zalexaka,

С точки зрения логики вы, возможно, и правы. А вот с точки зрения java.io.File - не совсем.
File.delete() не выкидывает исключений. В случае, если файл не удалось удалить, он просто вернет false.
Поэтому вторая проверка на наличие файла непосредственно перед попыткой создания, вполне имеет смысл.
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320852
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребята, я сеичас без if и else пишу, но все равно при клики мышкой не работает. я что то не дочитал в книжке? не пойму
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
   public void mouseClicked(MouseEvent me) {
        //throw new UnsupportedOperationException("Not supported yet."); 
        File d = new File ("C:/mouseclick.txt");
       try {                         
               d.createNewFile();
       } catch (IOException ex) {
           Logger.getLogger(JavaApplication5.class.getName()).log(Level.SEVERE, null, ex);
       }
    }
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320867
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arkadi,

Пошаговой отладкой пользуетесь?
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320961
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Спасибо, понял, почитал как поставить точку останова и запустить отладчик. Поставил точку останова на строке:
d.createNewFile();
и запустил отладчик. А теперь как можно понять что здесь не так?
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320970
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В NetBeans пишете? Просто не понятно, у вас действительно нет слушателей, или IDE их спрятала.
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320972
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неудачно выбрано расположение файла
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38320991
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
button.addMouseListener(this);
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38321298
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczJulT, zalexaka,

С точки зрения логики вы, возможно, и правы. А вот с точки зрения java.io.File - не совсем.
File.delete() не выкидывает исключений. В случае, если файл не удалось удалить, он просто вернет false.
Поэтому вторая проверка на наличие файла непосредственно перед попыткой создания, вполне имеет смысл.
Круто, спасибо!
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38321319
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulTBlazkowiczJulT, zalexaka,

С точки зрения логики вы, возможно, и правы. А вот с точки зрения java.io.File - не совсем.
File.delete() не выкидывает исключений. В случае, если файл не удалось удалить, он просто вернет false.
Поэтому вторая проверка на наличие файла непосредственно перед попыткой создания, вполне имеет смысл.
Круто, спасибо!
А в java 7 можно вообще так -

Код: java
1.
2.
3.
4.
5.
6.
7.
try{
      if(Files.deleteIfExist()){
          Files.create()
}
}catch() {

}
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38321486
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник if(Files.deleteIfExist()) Files.create();

Если файла не было то он и не появится.
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38321825
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Blazkowicz,][/В NetBeans пишете? Просто не понятно, у вас действительно нет слушателей, или IDE их спрятала.]

1) как это спрятало? как можно проверить?

2) прописываю: button.addMouseListener(this);
не работает ((

3) как пользоваться пошаговой отладкой? не получается, помогите пожалуйста
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38321835
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38330712
6o6epYi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arkadi,

Вот я решил твою проблему, проверял работает.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import java.io.File;
import java.io.IOException;

import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class JavaApplication5 implements MouseListener {
    public static void main(String[] args) throws IOException {

        JFrame frame = new JFrame("new frame");
        frame.setSize(500, 500);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();
        panel.setPreferredSize(new Dimension(300, 300));
        panel.setBackground(Color.WHITE);
        frame.add(panel);
        JButton button = new JButton("button");
        panel.add(button);
        button.setSize(10, 10);
        button.setVisible(true);
        ///////////////////////
        button.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(MouseEvent me) {
                //throw new UnsupportedOperationException("Not supported yet.");
                File d = new File("C:\\Users\\guest-x\\Documents\\mouseclick.txt");
                try {
                    if (!d.exists()){
                        d.createNewFile();
                    }else{
                        d.delete();
                    }
                } catch (IOException ex) {
                    Logger.getLogger(JavaApplication5.class.getName()).log(Level.SEVERE, null, ex);
                }
                System.out.println("You clicked the button, using a MouseListenr");
            }
        });
        ////////////////
    }



    @Override
    public void mousePressed(MouseEvent me) {
        // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

    }

    @Override
    public void mouseReleased(MouseEvent me) {
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

    }

    @Override
    public void mouseEntered(MouseEvent me) {
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void mouseExited(MouseEvent me) {
        // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void mouseClicked(MouseEvent e) {
    }
}
...
Рейтинг: 0 / 0
Создание файла при щелчке по JButton
    #38341660
Arkadi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
6o6epYi,
Спасибо большое! понял проблему.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Создание файла при щелчке по JButton
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]