[an error occurred while processing this directive] IT • archiv :: Print

IT • archiv


[an error occurred while processing this directive]

[an error occurred while processing this directive]

Минимизирование окна

[an error occurred while processing this directive](none) [an error occurred while processing this directive](none)[an error occurred while processing this directive] ::
[an error occurred while processing this directive](none)
[an error occurred while processing this directive]([an error occurred while processing this directive](none)[an error occurred while processing this directive])

[an error occurred while processing this directive](none)
Java Q&A
PDF versionPDF версия

Существует ли надежный способ для задания минимального размера окна? Я хочу, чтобы мои пользователи могли увеличить окно приложения, но при этом не могли сделать его меньше определенного минимального размера. Я просмотрел документацию API для иерархии JFrame и не нашел ничего подходящего.

Java не содержит отдельного метода для задания минимального размера окна. Вы, однако, можете заставить окно придерживатся определенного минимального размера используя обработчики событий (event listeners). Если получено событие изменения размера окна, проверьте размер, и, если он меньше необходимого, восстановите его.

Вот пример кода:

import javax.swing.*;
import java.awt.event.*;

public class MinSizeFrame
       extends JFrame
       implements ComponentListener {

static final int WIDTH = 400;
static final int HEIGHT = 400;

static final int MIN_WIDTH = 300;
static final int MIN_HEIGHT = 300;

public MinSizeFrame() {
 setSize(WIDTH, HEIGHT);
 addComponentListener(this);
}


public void componentResized
            (ComponentEvent e) {

int width = getWidth();
int height = getHeight();

//мы проверяем ширину и высоту

boolean resize = false;

 if (width < MIN_WIDTH) {
  resize = true;
  width = MIN_WIDTH;
 }
 if (height < MIN_HEIGHT) {
  resize = true;
  height = MIN_HEIGHT;
 }
 if (resize) {
  setSize(width, height);
 }
}


public void componentMoved(ComponentEvent e){
}

public void componentShown(ComponentEvent e){
}

public void componentHidden(ComponentEvent e){
}

public static void main(String args[]) {
 MinSizeFrame f = new MinSizeFrame();
 f.setVisible(true);
}
}

Об авторе

Random Walk Computing это наибольшая консалтинговая фирма в Нью Йорке, специализирующаяся на Java/CORBA решениях для предприятий. Известные своим выдающимся знанием Java, консультанты Random Walk публикуются и выступают на самых престижных форумах мира. Для связи с Random Walk используйте javaqa@javaworld.com.

Reprinted with permission from the October 1999 edition of JavaWorld magazine. Copyright © ITworld.com, Inc., an IDG Communications company.
View the original article at: http://www.javaworld.com/javaworld/ javaqa/1999-10/03-qa-window.html

[an error occurred while processing this directive]
[an error occurred while processing this directive] Перевод на русский © Сергей Миссан, 2000
< Вернуться на caйт :: Copyright © 1999 — 2010, IT • archiv.