2012-12-18 37 views
5

Bối cảnh/Ngữ cảnh:JavaFX gặp sự cố X Server

Tôi hiện đang phát triển một ứng dụng màn hình cảm ứng nhằm mục đích chạy trên Linux. Là một khung công tác phát triển, tôi đã chọn JavaFX (jdk1.7.0_10) do sự thoải mái tạo mẫu nhanh chóng của nó. Tôi đang sử dụng phân phối Arch Linux (kernel 3.6.10-1-ARCH) và vì JavaFX cần một môi trường đầy đủ để chạy, nên tôi đã cài đặt Xorg trên cấu hình cơ bản. Thậm chí nghĩ rằng tôi có thể chạy ứng dụng JavaFX của tôi, tôi có một số vấn đề với các cửa sổ bật lên đang được hiển thị trong ứng dụng của tôi.

Khi cố gắng hiển thị các cửa sổ bật lên đó, đôi khi chúng không phản hồi như mong đợi hoặc sự kiện tồi tệ hơn, chúng làm hỏng ứng dụng của tôi. Lỗi tôi nhận được như sau:

The program 'java' received an X Window System error. 
This probably reflects a bug in the program. 
The error was 'BadDrawable (invalid Pixmap or Window parameter)'. 
(Details: serial 51101 error_code 9 request_code 62 minor_code 0) 
(Note to programmers: normally, X errors are reported asynchronously; 
that is, you will receive the error a while after causing it. 
To debug your program, run it with the --sync command line 
option to change this behavior. You can then get a meaningful 
backtrace from your debugger if you break on the gdk_x_error() function.) 

Bằng cách này, khi chạy cùng một ứng dụng trên Windows (máy phát triển của tôi), mọi thứ hoạt động tốt.

Tôi cũng đã cố gắng để chạy một trình quản lý tổng hợp ('xcompmgr') kể từ khi tôi cũng đã nhận được một số cảnh báo như

Can't create transparent stage, because your screen doesn't support alpha channel. You need to enable XComposite extension. 

nhưng nó đã không giúp đỡ.

Câu hỏi:

Tôi có thiếu một số tệp hoặc cấu hình để chạy trơn tru JavaFX trong Linux hoặc có bất kỳ ai gặp phải thử thách tương tự không? Vì mối quan tâm chính của tôi là hiệu suất (do các thông số phần cứng giới hạn), tôi không muốn cài đặt bản phân phối Linux đầy đủ tính năng. Tôi chỉ cần chạy ứng dụng JavaFX của mình.

+0

Tôi nghĩ rằng bạn sẽ có nhiều cơ hội để có được một câu trả lời nếu bạn đặt câu hỏi này trên danh sách gửi thư openjfx-dev: http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev Đảm bảo cung cấp liên kết corss-reference ở đây và trong thư, để mọi người nhận thức được tất cả các câu trả lời. – Puce

+0

Hết sức tò mò: bạn nhận được dấu vết ngăn xếp nào trong gdb nếu bạn làm theo hướng dẫn được đưa ra trong thông báo lỗi? – ignis

Trả lời

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