Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 253

Вывод характеристик файлов на Swing

05.06.2013, 18:58. Показов 1529. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне надо создать форму с написью каталога где находятся файлы. В верхней области надо создать текстовое поле для введения название каталога а в центре текстовое поле где должен выводится список файлов с характеристиками: имя, размер, тип, дата последней модификации файла. Самой список должен выводится при нажатие клавиши ЕНТЕР./ Подскажите какая структура кода. Может есть где примеры такого кода в интернете. Понятно мне как задать титул этой формы. Возможно как создать текстовое поле и ввести туда текст. Но как привязать этот текст к самому полю трудно понять. Как и не понятно когда и как задействовать клавишу энтер. Наверно посредством ИФ нажатие ентер: тогда задействовать метод FILE.list () что выводит список файлов каталога. Но не понятно каким образом определить 4 характеристики файла. И как в первом текстовом поле привязать текст к тестовому полю. Главное какие библиотеки надо использовать. jawax.swing.filechoosing-event-text. Какая форма записи кода о текстовом поле и как выглядит код для определение нажатие ентер в текстовом поле.

Добавлено через 18 часов 37 минут
Подскажите хоть детали. Например мне надо вывести имя.расш размер (я так понимаю через ленгс), lastmodified. Я сперва делаю масив строк с именами fайloв: string [] s=d.list (); но как применить ластмодифайд к файлу-если не через этот масив что выдает название файлов. Компилятор пишет что это ошибка так как это тип стринг наверное.//потом возник вопрос по конкатенации. Вывести характеристики можно с помощью system.out.print(s[i] " " s[i].length); с помощью цикла. Но сдесь надо s[i] " " s[i].lengthtext присвоить какой то переменой string t ( что компилятор говорит невозможно), а потом это t прикрепить к тестовому полю textrea.append. Что здесь можно сделать?

Добавлено через 3 часа 24 минуты
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
import javax.swing.*;
import javax.swing.JTextField;
import java.io.*;
import java.io.File;
import java.awt.*;
import java.awt.event.*;
public class MyFrame1 
    extends JFrame {
      public MyFrame1(){ 
    setLocation(400, 200); 
    setSize(200, 200); 
    setTitle("Enter Folder Name");
    setVisible(true);
  JTextField t=new JTextField(80);
    add (t);
   JTextArea area=new JTextArea(10,100);
     add (area);
     t.addKeyListener (new KeyAdapter (){
    public void keyPressed(KeyEvent e) {
    if (e.getKeyCode()==KeyEvent.VK_ENTER){
    String line=t.getText().trim();
  }}});
  File d = new File("D:qqq"); 
if (d.exists() && d.isDirectory()) { 
String[] s = d.list(); 
for (int i = 0; i < s.length; i++) 
String t=(s[i]+"\t"+s[i].length ()+"\n");
System.out.print(t); 
} 
} 
} 
     }
public static void main(String[] args) {    
 new MyFrame1();
  } 
}
Вместо System.out.print(t); там дожно быть
area.append (t);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2013, 18:58
Ответы с готовыми решениями:

Swing: вывод массива в JLabel
Всем привет. Начал изучение Swing'а, не могу понять, возможно я еще не дочитал до туда=) Так вот, не могу понять, например у меня есть...

Swing. Вывод данных в таблицу
Добрый день! возникла проблемка. есть база данных на mysql. данные надо вывести в таблицу. основная программа написана на Java при...

Вывод текста Java Swing GUI
Возникала проблема. Описал и показал, в чём заключается проблема на видео. &gt;&gt;ССЫЛКА&lt;&lt; YouTube P.S. Когда то у меня...

1
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 253
07.06.2013, 20:17  [ТС]
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
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
 
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
 
public class TestFrame extends JFrame {
 
    public TestFrame() {
        super("Тестовое окно");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
         
        panel.add(Box.createVerticalGlue());
 
        final JLabel label = new JLabel("Выбранный файл");
        label.setAlignmentX(CENTER_ALIGNMENT);
        panel.add(label);
 
        panel.add(Box.createRigidArea(new Dimension(10, 10)));
 
        JButton button = new JButton("Показать JFileChooser");
        button.setAlignmentX(CENTER_ALIGNMENT);
 
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JFileChooser fileopen = new JFileChooser();             
                int ret = fileopen.showDialog(null, "Открыть файл");                
                if (ret == JFileChooser.APPROVE_OPTION) {
                    File file = fileopen.getSelectedFile();
                    label.setText(file.getName());
                }
            }
        });
 
        panel.add(button);
        panel.add(Box.createVerticalGlue());
        getContentPane().add(panel);
 
        setPreferredSize(new Dimension(260, 220));
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
 
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame.setDefaultLookAndFeelDecorated(true);
                JDialog.setDefaultLookAndFeelDecorated(true);
                new TestFrame();
            }
        });
    }
}
На основание этого кода в интернет-учебнике я скомпилировал такой код:
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
@@@import java.awt.BorderLayout; 
import java.awt.Dimension; 
import java.io.File; 
  
import javax.swing.BoxLayout; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JList; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.event.ListSelectionEvent; 
import javax.swing.event.ListSelectionListener; 
  
public class TestFrame extends JFrame { 
  
    public TestFrame() { 
        super("Тестовое окно"); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  
        JPanel mainPanel = new JPanel(); 
        mainPanel.setLayout(new BorderLayout()); 
  
        final JPanel rootContent = new JPanel(); 
        rootContent.setLayout(new BoxLayout(rootContent, BoxLayout.Y_AXIS)); 
       JTextField t=new JTextField(80);
   
  
  
  t.addKeyListener (new KeyAdapter (){
    public void keyPressed(KeyEvent e) {
    if (e.getKeyCode()==KeyEvent.VK_ENTER){
    String line=t.getText().trim();
          
                File[] children = line.listFiles(); 
                if (children != null) { 
                    for (int i = 0; i < children.length; i++) { 
                        JLabel label = new JLabel(children[i].getName()+"zmineno"+children[i].lastModified()+"dovzhyna"+children[i].length()); 
                        rootContent.add(label); 
                    } 
                } 
                rootContent.repaint(); 
                rootContentScroll.revalidate(); 
            } 
  
        mainPanel.add(new JScrollPane(list), BorderLayout.NORTH); 
        mainPanel.add(rootContentScroll, BorderLayout.CENTER); 
  
        getContentPane().add(mainPanel); 
  
        setPreferredSize(new Dimension(260, 220)); 
        pack(); 
        setLocationRelativeTo(null); 
        setVisible(true); 
    } 
  
    public static void main(String[] args) { 
        javax.swing.SwingUtilities.invokeLater(new Runnable() { 
            public void run() { 
                JFrame.setDefaultLookAndFeelDecorated(true); 
                new TestFrame(); 
            } 
        }); 
    }
Вроде компилируется кроме последний строки. То есть я так понял что главное передать введеный в поле путь к файлу и после нажание клавиши передать в файл чузер как собсвенно директрорию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2013, 20:17
Помогаю со студенческими работами здесь

Графика в java: вывод графиков в Swing
Практикуюсь с графикой в java. Если конкретно, то пытаюсь нарисовать графики функций. Решил логически в коде отделить рисование осей...

Вывод в окно строкового массива, используя swing
Здравствуйте, я создал, строковый массив, мне нужно вывеси его в окне, подскажите пожалуйста как это сделать, с помощью чего? Насколько я...

Вывод характеристик компьютера
Помогите , может есть отрывки кода для вывода на масме имя компьютера, название микропроцессора, размер памяти, название материнской карты,...

Вывод характеристик компьютера
Здравствуйте, нужна помощь( Есть задание, подскажите, как мне вывести, через окно самому прописать, или есть специальные команды, которые...

Вывод основных характеристик компьютера
Есть ли процедура, которая показывает частоту процессора, объем оперативки, свободное место на диске, параметры видео карты, скорость...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru