Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Создание файла при щелчке по JButton / 24 сообщений из 24, страница 1 из 1
03.07.2013, 15:21:23
    #38318942
Arkadi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
Сделал все по книжке, но не создает файл при щелчке по кнопке 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
03.07.2013, 15:23:05
    #38318947
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
ArkadiСделал все по книжке, но не создает файл при щелчке по кнопке JButton
А почему должен?

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


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

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

этот кусочек делает проверку: если есть аналогичный файл, то удаляет. Если нет, то создает новый файл.
А восклицательный знак там для чего?
...
Рейтинг: 0 / 0
03.07.2013, 16:12:30
    #38319062
Arkadi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
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
03.07.2013, 16:19:51
    #38319079
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
Arkadiпонял
Что именно?

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


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

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



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

С точки зрения логики вы, возможно, и правы. А вот с точки зрения java.io.File - не совсем.
File.delete() не выкидывает исключений. В случае, если файл не удалось удалить, он просто вернет false.
Поэтому вторая проверка на наличие файла непосредственно перед попыткой создания, вполне имеет смысл.
...
Рейтинг: 0 / 0
04.07.2013, 16:31:07
    #38320852
Arkadi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
ребята, я сеичас без 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
04.07.2013, 16:39:29
    #38320867
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
Arkadi,

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

С точки зрения логики вы, возможно, и правы. А вот с точки зрения java.io.File - не совсем.
File.delete() не выкидывает исключений. В случае, если файл не удалось удалить, он просто вернет false.
Поэтому вторая проверка на наличие файла непосредственно перед попыткой создания, вполне имеет смысл.
Круто, спасибо!
...
Рейтинг: 0 / 0
05.07.2013, 02:07:13
    #38321319
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
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
05.07.2013, 10:16:38
    #38321486
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
забыл ник if(Files.deleteIfExist()) Files.create();

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

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

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

3) как пользоваться пошаговой отладкой? не получается, помогите пожалуйста
...
Рейтинг: 0 / 0
05.07.2013, 13:38:10
    #38321835
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
...
Рейтинг: 0 / 0
14.07.2013, 23:56:55
    #38330712
6o6epYi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
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
24.07.2013, 10:30:59
    #38341660
Arkadi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание файла при щелчке по JButton
6o6epYi,
Спасибо большое! понял проблему.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Создание файла при щелчке по JButton / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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