2015-09-29 4 views
0

Мой вопрос состоит из 3 частей.Размер JFrame, размер, полноэкранный

  1. Я хотел бы знать, как я могу установить JFrame окно, чтобы быть изменяемыми, но не могу идти под размером минит, так что пользователь не может сделать его меньше, чем минимальный размер.
  2. Я хотел бы знать, как я могу установить окно JFrame для изменения размера, но при этом сохранить соотношение сторон (16: 9), даже если пользователь изменит его размер.
  3. Я хотел бы знать, как я могу сделать программу действительно полноценной, после того, как он нажмет кнопку, так что нет границ и работает как игра или что-то в этом роде (и если есть какие-то конкретные проблемы, как я могу вернуть ее обратно безопасно).

Благодарим за помощь и терпение за то, что я не совершенен английский и не совершенен знание Java.

Предоставленный ответ полезен и отвечает на часть моего вопроса, но все же большая часть его все еще пуста для меня.

Часть кода:

private void createDisplay() { 
    GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); 

    frame = new JFrame(title);            //setting the title of the window 
    frame.setSize(width, height);           //setting the width and height of the window 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     //make sure program closes down properly 
    frame.setResizable(true); 
    frame.setLocationRelativeTo(null);          //the window will apparel on the center 
    frame.setVisible(true); 
    frame.setIconImage(Assets.ImageMap.get("icon")); 

    canvas = new Canvas(); 
    canvas.setPreferredSize(new Dimension(width, height)); 
    canvas.setMaximumSize(new Dimension(width, height)); 
    canvas.setMinimumSize(new Dimension(gd.getDisplayMode().getWidth()/2, gd.getDisplayMode().getHeight()/2)); 
    canvas.setFocusable(false); 

    frame.add(canvas); 
    frame.pack();               //resize the window a little bit so able to see all of canvas 
} 
+1

возможно дубликат [JFrame в полном объеме Java] (http://stackoverflow.com/questions/11570356/jframe-in-full-screen-java) –

+0

Просьба представить код, который вы пробовали. – ashiquzzaman33

ответ

2
  1. Установить минимальный размер фрейма (setMinimumSize)
  2. Труднее, как вы будете уведомлены об изменении размера после факта, так что вы будете всегда следует бороться с системой по мере ее изменения (а затем у вас возникают проблемы с тем, кто создал событие изменения размера). Может быть, лучше сосредоточиться на сохранении соотношения содержания кадра на основе свободного пространства в кадре (VLC является хорошим примером этого)
  3. Full screen exclusive mode
Смежные вопросы