2011-08-05 34 views
7

Tôi đang viết một ứng dụng Java dựa trên giao diện điều khiển, trong đó người dùng sẽ được hiển thị lời nhắc lệnh tùy chỉnh nơi cô có thể nhập một số lệnh nhất định, tôi muốn triển khai tính năng tự động hoàn chỉnh cho ứng dụng. lệnh, nếu người dùng nhấn TAB thì lệnh sẽ hoàn thành. Các chức năng tương tự như tự động hoàn thành trong dấu nhắc lệnh Linux.Tự động điền trên tab trong ứng dụng Console

Trong ứng dụng Java Console, chúng tôi không có quyền kiểm soát TAB và TAB được nhấn theo mặc định sẽ thêm 8 dấu cách. Tôi cần một số trick sử dụng mà TAB không đi cho rendering và ứng dụng của tôi có thể thay thế TAB với autocomplete.

Xin cảm ơn trước.

+0

Kiểm tra dự án RHQ và CLI của nó. Nó có khả năng tự động hoàn thành tốt. http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=tree;f=modules/enterprise/remoting/cli;h=ba5c185774538696525b6c05c3777964f5dd606c;hb=HEAD –

+0

Hey GJ, tôi có rất câu hỏi cơ bản. Làm thế nào để bạn thao tác các chuỗi giao diện điều khiển? Bạn có sử dụng bộ đệm chuỗi không? Bạn có thể chia sẻ một số quyết định thiết kế của mình không? –

Trả lời

7

Bạn có thể thử sử dụng thư viện như Java-Readline hoặc jline2.

+0

Người duy nhất dưới sự phát triển tích cực là [jline3] (https://github.com/jline/jline3) ngay bây giờ. –

0

picocli Thư viện phân tích dòng lệnh Java gần đây đã thêm chức năng tự động hoàn tất.

Bạn cũng có thể thích cách nó cho phép bạn sử dụng màu ANSI và kiểu trong thông báo trợ giúp sử dụng.

enter image description here

Disclaimer: Tôi là tác giả và do đó thiên vị.

Các vấn đề liên quan