2013-07-01 28 views
7

Tôi có một câu hỏi liên quan đến biên giới xung quanh một JDialog undecorated sử dụng kim loại L & F.undecorated JDialog biên giới

Nhìn vào hình ảnh này để xem biên giới đó là trên cửa sổ này:

enter image description here

Tôi đang cố gắng tìm ra cách để loại bỏ hoặc thay đổi màu sắc của viền màu xanh xung quanh bên ngoài của JDialog. Tôi nhìn vào mặc định giao diện người dùng cho Look & Cảm thấy nhưng tôi đã không thể đến với bất kỳ mà làm việc cho việc này.

Bất kỳ ai có ý tưởng nào về cách thoát khỏi biên giới đó?

Cảm ơn!

+0

Câu trả lời của tôi có thể cho bạn một câu hỏi khác http://stackoverflow.com/a/32752359/5370194 lp bạn? – Jun

Trả lời

10

Bạn cần thay đổi Border của ngăn gốc:

getRootPane(). 
    setBorder(BorderFactory.createLineBorder(Color.RED)); 
3

Bạn có thể làm một cái gì đó như thế này:

((JPanel)getContentPane()).setBorder(BorderFactory.createLineBorder(Color.BLUE)); 

enter image description here


Bạn có thể thử để làm điều này để thay đổi biên giới outsude nhất:

getRootPane().setBorder(BorderFactory.createLineBorder(Color.BLUE)); 

Đây có phải là bạn muốn làm gì?

3

Nếu bạn muốn thoát khỏi nó, bạn có thể sử dụng

frame.setUndecorated(true); 
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE); 

Để thay đổi giao diện của nó từ phong cách Java để các cửa sổ phong cách bạn có thể sử dụng

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
+0

Điều này không làm những gì tôi muốn. Tôi cần thanh tiêu đề để ở trên cùng trong khi cũng có khung undecorated. Cách duy nhất để làm điều này là sử dụng giao diện kim loại. Đặt kiểu trang trí cửa sổ thành không có thanh tiêu đề ở trên cùng. – Mark