Как показать (перенос с левой стороны) путь к файлу в JLabel / JTextField?

#java #swing

#java #swing

Вопрос:

Проблема: у меня есть кнопка, которая открывается JFileChooser . Рядом с кнопкой я хочу показать путь к выбранному файлу или папке. Если я просто помещу его в JLabel / JTextfield и выведу текст за границы, он перенесет путь с правой стороны (например C:/My Documents/... , но я хочу (я думаю, это дает больше информации) перенести (вырезать?) его с левой стороны (например, .../My photos/me.jpg .

Существует ли простой способ сделать это?

Комментарии:

1. «Рядом с кнопкой я хочу показать путь к выбранному файлу / папке». Добавьте всплывающую подсказку (содержащую путь) к кнопке.

Ответ №1:

Каретка может это сделать, например

 import java.awt.*;
import javax.swing.*;

public class DialogTest extends JFrame {

    private static final long serialVersionUID = 1L;
    private JTextField text;

    public DialogTest() {
        text = new JTextField("Test Test Test Test Test Test Test Test", JLabel.RIGHT);
        int textLength = text.getText().length() - 2;
        text.setCaretPosition(textLength);
        setLayout(new BorderLayout());
        add(BorderLayout.CENTER, text);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setPreferredSize(new Dimension(200, 110));
        pack();
        setLocationByPlatform(true);
        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                DialogTest dialogTest = new DialogTest();
            }
        });
    }
}
  

Ответ №2:

 label.setText( file.getName()   " Path: "   file  );