2009-04-23 11 views
8

Tôi đã tạo một ứng dụng Java GUI khá đáng kể với nhiều cửa sổ biểu mẫu nơi cài đặt bị khóa trong các tệp .form. Tôi tự hỏi là có cách nào để chuyển đổi hoặc refactor các tập tin .form vào mã nguồn Java thực mà tôi có thể sửa đổi?Chuyển đổi các tệp biểu mẫu Java GUI Builder thành Mã nguồn?

GUI được tạo bằng Netbeans 6.5.

+0

Tôi nghĩ rằng các tệp .form là Netbeans cụ thể và tệp .java có mã nguồn đầy đủ cho các cửa sổ. Điều này có đúng không? Bạn không thể chỉnh sửa các tập tin java? – kazanaki

Trả lời

6

Sự hiểu biết của tôi là tệp ".form" chỉ được trình xây dựng GUI Netbeans sử dụng để theo dõi vị trí các thành phần GUI. Khi bạn thêm các thành phần trong dạng xem thiết kế, Netbeans sẽ tự động cập nhật các tệp nguồn (.java) thực tế. Bạn có thể thực sự sửa đổi các tệp .java này trực tiếp thành, thay đổi nhãn trên nút, nhưng nếu bạn làm điều đó trong Netbeans, nó sẽ sử dụng tệp .form để tự động tạo lại tệp nguồn, hủy các thay đổi thủ công của bạn.

Theo kinh nghiệm của tôi, một khi bạn đưa ra quyết định sửa đổi các file java bằng tay, các tập tin .form trở nên không đồng nhất và bạn sẽ không còn có thể sử dụng trình tạo Netbeans GUI đúng cách.

4

kazanaki đúng, các tệp java được tạo có thể được sửa đổi nhưng các tệp .java kết quả nổi tiếng lộn xộn, lớn và khó giải thích. Ngoài ra, bạn không thể thay đổi một số thứ (như đã lưu ý trong các chú thích trong tệp .java được tạo) mà không hiển thị matisse vô ích vì nó mong đợi tệp có mọi thứ theo một cách nhất định. Điều đó đang được nói, nếu bạn cẩn thận không bước lên ngón chân của Matisse, bạn có thể mã hóa và nó sẽ không chạm vào mã của bạn.

Ngoài vòng pháp luật cũng đúng, nếu bạn thay đổi bất kỳ thứ gì đã có trong danh sách của Matisse, nó sẽ bị ghi đè. Bất kỳ thay đổi nào bạn thực hiện bên ngoài matisse phải nằm ngoài bất kỳ phần tử nào được bao phủ bởi xml mà matisse sử dụng để tạo mã.

Tôi đã thử loại điều này trước đây với thành công hạn chế và cuối cùng chỉ cần viết lại giao diện để tránh những cơn đau đầu đáng buồn này.

1

Tôi có thể chỉnh sửa nguồn, tôi đã phát hiện ra giải pháp. Vấn đề là tôi đã sử dụng "AbsoluteLayout" trong trình xây dựng GUI. Netbeans đã tạo ra một số lớp AbsoluteLayout ẩn nằm bên trong các tệp .form. NẾU tôi đã xóa các tệp .form mà dự án sẽ không còn xây dựng nữa. Giải pháp là thay đổi biểu mẫu thành bố cục "FreeForm" và sau đó tôi có thể xóa các tệp .form và xóa các nhận xét của trình tạo GUI.

Cảm ơn bạn đã giúp các bạn, tôi cung cấp cho bạn cả +1.