2013-04-04 279 views
5

Tôi đang phát triển một ứng dụng máy tính để bàn java swing với NetBeans và tôi muốn đặt JFrame vào giữa màn hình.Đặt JFrame vào giữa màn hình trong NetBeans

từ net Tôi hiểu rằng tôi có thể sử dụng

setLocationRelativeTo(null); 

để thiết lập các khung đến trung tâm Nhưng tôi vẫn chưa thể chèn mã vào NetBeans IDE vì cả

frame.pack() 
and frame.setVisible() 

là mã được tạo ra của NetBeans 7 IDE và nó sẽ không cho phép chèn mã nào giữa hai phương thức. để nhận các thông tin sau:

frame.pack() 
setLocationRelativeTo(null); 
frame.setVisible() 

Bất kỳ đề xuất nào về cách khắc phục sự cố.

+0

đang Thậm chí tạo ra đi vào một số tệp trong Java ... Tệp nào được tạo bởi NetBeans? – hd1

+0

coud bạn pease giải thích thêm mới cho netbeans và java – CodeAngel

Trả lời

1

Có phải là setVisible() trên mã được tạo không? Lạ thật. Dù sao, bạn có thể nhấp chuột phải vào JFrame trong Navigator và chọn Properties. Truy cập Code và chọn nó để không làm gì cả. Sau đó, chèn mã theo cách thủ công sau initComponents() trong hàm tạo JFrame.

+0

setVisible() không phải là một phần của được tạo ra mà là muốn chèn nó. – CodeAngel

+0

vào các mã được tạo – CodeAngel

+0

Không cần phải làm điều đó.Trong constructor lớp, nó sẽ gọi 'initComponents()', sẽ gọi 'pack()'. Sau 'initComponents()', trong hàm tạo, gọi 'setLocationRelativeTo (null)' rồi 'setVisible (true)' (mặc dù tôi sẽ không đề nghị gọi 'setVisible()' trên hàm dựng). –

2

Tôi không chắc liệu bạn có câu trả lời cho vấn đề của mình hay không, nhưng một giải pháp đã được đưa ra trong liên kết sau bởi Wade Chandler trên diễn đàn NetBeans. Thật không may, người khởi tạo của truy vấn được trả lời là thiếu kiên nhẫn để nói rằng ít nhất và bạn phải làm việc thông qua một số angst để có được câu trả lời.

http://forums.netbeans.org/ptopic37419.html

Wade cho thấy làm thế nào để tập trung GUI và những khía cạnh nào của mã bạn có thể sửa đổi.

Là một sang một bên, nếu bạn muốn đặt giao diện đồ họa tại một vị trí đặt trên màn hình sau đó bạn có thể sử dụng:

này yêu cầu truy cập vào phần Properties -> cửa sổ mã là tốt. 1. Đảm bảo bạn chọn Khung (không phải thành phần hoặc bên ngoài!) 2. Chuyển đến tab Mã trong cửa sổ thuộc tính cho JFrame. 3. Xác định nhãn "Chính sách kích thước biểu mẫu". 4. Trong trình đơn thả xuống, chọn "Tạo mã thay đổi kích thước". 5. Sửa đổi vị trí biểu mẫu bằng cách nhấp vào "..." bên cạnh vị trí đó. 6. Ngoài ra, hãy đảm bảo "Tạo Kích thước" cũng được chọn.

Nếu bạn muốn đặt giao diện trên cùng bên trái trên màn hình, hãy sử dụng [0,0] mặc định cho vị trí biểu mẫu. Để định vị GUI thứ hai bên cạnh lần sử dụng đầu tiên [450,0]. Trong trường hợp này giá trị x đã được thay đổi thành 450, giá trị Y được giữ bằng 0. Để di chuyển GUI xuống màn hình, sau đó thay đổi giá trị Y từ 0 thành 450.

Cuối cùng, có một Lỗi NetBeans 226740 có thể gây ra sự cố khi cố gắng tập trung vào một số khía cạnh của GUI. Nó có thể sẽ không ảnh hưởng đến bạn, nhưng nó rất hữu ích để nhận thức được nó.

Trân

Derek

+0

@DereckMannering cảm ơn vì bài đăng sẽ cố gắng và liên hệ lại với bạn. Chúc mừng – CodeAngel

12

Properties -> Code -> kiểm tra Tạo Trung tâm

+1

Đây là giải pháp dễ nhất. +1 –

0

Từ liên kết @DerekMannering gửi:

Netbeans thực sự tạo trung logic trên riêng của mình so với thông qua việc sử dụng thuộc tính , do đó bạn sẽ không thấy tùy chọn setLocationRelativeTo. Chuyển đến tab Mã trong cửa sổ thuộc tính. Tìm nhãn "Chính sách kích thước biểu mẫu" trong tab Mã. Trong trình đơn thả xuống, chọn "Tạo mã thay đổi kích thước". Sau đó, đảm bảo rằng thuộc tính có nhãn "Tạo Trung tâm" được chọn. Bạn cũng sẽ muốn đảm bảo "Kích thước tạo" cũng được chọn. Nên theo mặc định, nhưng bạn nên kiểm tra anyways. Bây giờ, điều đó sẽ hoạt động tốt nhất cho JFrame hoặc Tiện ích mở rộng khung.

10

Trên constructor của khung hình, bạn có điều này:

public frame() {  
    initComponents(); 
} 

Bạn chỉ phải đặt dòng này: "this.setLocationRelativeTo (null);" trong "initComponents();"

Và bạn sẽ có điều này:

public frame() {  
    initComponents(); 
    this.setLocationRelativeTo(null); 
} 

Chạy nó, và nó trở thành khung nên hiển thị trên trung tâm của màn hình =)

3

Thực hiện theo các bước đơn giản sau:

  • chọn khung và chuyển đến các thuộc tính.
  • nhấp vào phần mã và nhấp vào hộp kiểm Tạo Trung tâm.

Vậy đó.

0

Trong vùng Netbeans Designer, chọn JFrame của bạn, đi tới mã.

Trong mã, thay đổi Chính sách kích thước biểu mẫu thành "Tạo mã thay đổi kích thước"

Sau đó chọn Tùy chọn tạo trung tâm.

0
  • tại văn constructor cung cấp cho mã dưới đây sẽ làm cho JFrame tại trung tâm của màn hình

    public ProjectWork_jframe() { 
    initComponents(); 
    
    Dimension screenSize,frameSize; 
    int x,y; 
    screenSize=Toolkit.getDefaultToolkit().getScreenSize(); 
    frameSize=getSize(); 
    x=(screenSize.width-frameSize.width)/2; 
    y=(screenSize.height-frameSize.height)/2; 
    setLocation(x, y); 
    } 
    
0

thử ....

public class_name{ 
    initComponents(); 
     setLocationRelativeTo(this); 
} 
+2

Vui lòng thêm giải thích về cách giải quyết câu hỏi này. –

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