2011-06-21 38 views
5

Tôi đã tích hợp this Thanh demo Jfreechart với ứng dụng xoay của tôi. Tôi đã đặt đoạn mã sau trong phương thức thực hiện hành động của một nút, mã này trước đây đã được sử dụng trong phương thức chính của lớp Trình diễn Bar.Đóng cửa sổ xoay jfreechart đóng toàn bộ ứng dụng

final BarChart3DDemo3 demo = new BarChart3DDemo3("3D Bar Chart Demo 3"); 
     demo.pack(); 
     RefineryUtilities.centerFrameOnScreen(demo); 
     demo.setVisible(true); 

Điều này tạo ra Biểu đồ thanh. Nhưng đóng cửa sổ biểu đồ Bar. Ứng dụng Toàn bộ của tôi đang bị đóng.

Tôi đã cố gắng chèn demo.getDefaultCloseOperation(ApplicationFrame.DISPOSE_ON_CLOSE); nhưng không hoạt động. Mặc dù không đưa ra bất kỳ lỗi nào.

Tôi cũng đã cố gắng để chèn điều này trong các nhà xây dựng BarChart3DDemo3 nhưng lỗi của nó cho getDefaultCloseOperation() phương pháp không tham số int.

Tôi không biết phải làm gì tiếp theo? Hãy giúp tôi. Cảm ơn.

+0

Cũng không may mắn với HIDE_ON_CLOSE .. – JavaBits

+1

Ý bạn là * set * DefaultCloseOperation (... DISPOSE ...), phải không? – maerics

+0

DISPOSE_ON_CLOSE và HIDE_ON_CLOSE đều hoạt động tốt với JFrame vốn không đáp ứng cho ApplicationFrame. – JavaBits

Trả lời

11

Lưu ý rằng ApplicationFrame "lắng nghe sự kiện đóng cửa sổ và phản hồi bằng cách tắt JVM." Nó dành cho các ứng dụng demo. Thay vào đó, hãy đặt ChartPanel của bạn vào JFrame, như được hiển thị here.

+0

ok sẽ thử với điều đó. thanks – JavaBits

+4

Tôi đã xóa ApplicationFrame và thay thế bằng JFrame và hoạt động tốt của nó. – JavaBits

0

Thay vì

public class LineChart_AWT kéo dài ApplicationFrame,

public class LineChart_AWT kéo dài JFrame đang làm việc tốt.

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