2011-05-09 1 views
2

Название немного запутанно, но я буду использовать Java и Jframe. В принципе, я хочу иметь возможность щелкнуть в любом месте формы и показать «текстовую область/окно» (возможно, использовать JTextField или JTextArea?). Я хочу, чтобы пользователь мог редактировать, удалять и перемещать эту строку.при щелчке добавить динамический текст, подобный области, в Java

Я думаю, мне нужно, чтобы actionlistener прослушивал клики по форме. Каждый щелчок вызовет новый текстовый «ящик», который будет создан. Я не уверен, как сделать этот «ящик» доступным для редактирования, удаляемым или перемещаемым пользователем.

Мне нужен способ хранения строки и координировать данные. Было бы неплохо просто расширить JTextField или JTextArea, чтобы добавить координирующую информацию к ним? Я вижу, что качание основано на событиях, поэтому мне нужен какой-то триггер, чтобы «сохранить» текст (думал ключ ввода, но я понимаю, что я хотел бы, чтобы пользователь мог вводить многострочные строки).

Любые мысли будут оценены. Я знаком с Java, но имею немного опыта работы с частью пользовательского интерфейса.

ответ

2

Вместо ActionListener вам потребуется MouseListener для отслеживания кликов.

Похоже, что вам нужен незадекларированный JInternalFrame с текстовым полем в нем на JDesktopPane. Тем не менее, я не думаю, что вы можете создать unecorated JInternalFrame, возможно, начните с обычного JInternalFrame с помощью TextBox и создайте новые кадры при щелчке мышью на панели рабочего стола. Затем посмотрите, можете ли вы сделать JInternalFrame больше как Window.

Другой маршрут - это настраиваемый компонент, который делает все, что вам нужно. Это возможно, просто намного больше пользовательского кода.

+0

Спасибо! Я продолжал искать и находил код, чтобы сделать вещи перетаскиваемыми (http://stackoverflow.com/questions/874360/swing-creating-a-draggable-component). Теперь мне просто нужно найти способ добавить текстовый компонент! – matthieu