2010-10-30 17 views
5

Tôi HAVA một chương trình java với một JFramesetMaximumSize không làm việc trong java

Tôi đang sử dụng tuyệt đối vị

đây là chức năng chính của tôi

public static void main(String[] args) { 
    ape Ape = new ape(); 
    Ape.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    Ape.setSize(1000,1000); 
    Ape.setMinimumSize(new Dimension(1000,1000)); 
    Ape.setMaximumSize(new Dimension(1000,1000)); 
    Ape.setVisible(true); 
} 

Khi tôi chạy chương trình tôi cố gắng thay đổi kích thước nó và làm cho cửa sổ nhỏ hơn nhưng tôi không thể

khi tôi cố gắng làm cho cửa sổ lớn hơn, nó hoạt động tốt Tôi cơ bản bỏ qua chức năng setMaximumSize()

Tôi đã đọc xung quanh và rõ ràng điều này đã xảy ra trước

đây có phải là lỗi đã biết không?

nếu vì vậy tôi nghe nói tôi có thể làm cho một Listener Window, khi tôi thử nó tôi thực hiện các chức năng mà WindowListener cần thiết nhưng không thể tìm thấy bất cứ điều gì để giải quyết vấn đề của tôi

hãy thử này cho mình và xem những gì sẽ xảy ra ...

cảm ơn trước

PS ... xin đừng cười về tên tôi cung cấp cho các lớp học của tôi ... :)

Trả lời

10

thấy http://forums.sun.com/thread.jspa?threadID=5342801:

.210

Đó là một lỗi được biết:

Có lẽ bạn có thể sử dụng

Ape.setResizable(false) 

để thay thế?

PS: Đó là quy ước để cung cấp tên lớp bắt đầu bằng chữ cái viết hoa và các tên biến có ký tự nhỏ, chứ không phải ngược lại.

+0

nhờ cho báo cáo và các Ape.setResizable là cơ bản những gì tôi muốn nhờ –

+0

http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6464548 – Sudhakar

1

Trong trường hợp của tôi, tôi sử dụng sau đây và nó làm việc:

Dimension newDim = new Dimension(width, height); 

    label.setMinimumSize(newDim); 
    label.setPreferredSize(newDim); 
    label.setMaximumSize(newDim); 
    label.setSize(newDim); 
    label.revalidate(); 
+0

Tôi không biết phải cảm ơn bạn như thế nào .. thankyou thankyou rất nhiều. Bạn đã cứu mặt và ngày của tôi. revalidate là chìa khóa. –

0

tôi cố định nó như thế này:

frame.setBounds(0, 0, 1480, 910); 
    frame.setMinimumSize(new Dimension(1200, 799)); 
    frame.setMaximumSize(new Dimension(1480, 910)); 
    frame.setPreferredSize(new Dimension(1480, 910)); 
    frame.setLocationRelativeTo(null); 
    frame.addComponentListener(new ComponentAdapter() { 

     @Override 
     public void componentResized(ComponentEvent e) { 
      double w = frame.getSize().getWidth(); 
      double h = frame.getSize().getHeight(); 
      if(w > 1480.0 && h > 910.0){ 
       frame.setSize(new Dimension(1480, 910)); 
       frame.repaint(); 
       frame.revalidate(); 
      } 

      super.componentResized(e); 
     } 

    }); 
Các vấn đề liên quan