Không, thậm chí không xem xét điều này vì ActionListeners là cho JButtons hoặc bất cứ điều gì khác có nguồn gốc từ AbstractButton nhưng không cho JTextComponents (ngoại trừ JTextFields). Có lẽ bạn muốn có một MouseListener. Có nói điều này, có lẽ bạn sẽ được tốt hơn với hai thành phần văn bản, một JTextArea để hiển thị tất cả các phản ứng, bao gồm cả người dùng, và ngay dưới đây trong một loại BorderLayout.SOUTH vị trí, một JTextField để cho phép người dùng để nhập văn bản vào cuộc trò chuyện. Sau đó, cho rằng JTextField một ActionListener (điều này là hợp pháp) để "nhập" sẽ kích hoạt người nghe.
Sửa 1
Bạn trạng:
Vâng, tôi đã JTextField rằng, các văn bản trong đó đã được gửi đến máy chủ và máy chủ sẽ gửi thông điệp tới tất cả khách hàng xuất hiện trong JTextArea. Nhưng vấn đề của tôi là ở đây: Tôi muốn bật lên một cửa sổ khi ai đó nhấp vào một sinh viên: // văn bản id.
Vâng, nhìn nhận xét của bạn, phiếu bầu của tôi là để bạn có thể hiển thị các cuộc trò chuyện không có trong JTextArea mà là trong một JList, một với một SelectionListener. Sau đó, bạn có thể trả lời dễ dàng các sự kiện nhấp chuột và sẽ dễ dàng nhận được thông tin hữu ích từ "dòng" được nhấp vào (nếu bạn điền vào JList với các đối tượng thông minh). Bạn sẽ cần phải viết một trình kết xuất ô tùy chỉnh cho phép nhiều dòng văn bản được hiển thị, có thể là một dòng hiển thị một JTextArea, nhưng hướng dẫn trên JLists sẽ giúp bạn bắt đầu về điều này.
Nguồn
2012-05-05 14:25:46
@ user1266039: Hãy thử chương trình nhỏ này, chỉ cần nhấp vào trước khi sinh viên: // và một thông báo sẽ bật lên :-) –
cảm ơn bạn, trông rất đẹp. tôi sẽ thử nó. –
hehe, Bạn CHÀO MỪNG QUÝ KHÁCH VÀ GIỮ NHỎ :-) –