Как я могу увеличить / уменьшить размер окна при клике? - PullRequest
4 голосов
/ 08 октября 2010

Я занимаюсь разработкой простого свингового приложения, в котором у меня есть главное окно с тремя кнопками.Когда я нажимаю на первую кнопку, открывается новое окно с размером (200 200).Когда я нажимаю на вторую кнопку, высота вновь открытого окна должна увеличиваться, а когда я нажимаю на третью кнопку, высота должна уменьшаться.Можете ли вы помочь мне с кодом ....

заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 08 октября 2010

Вы можете сделать следующее для недавно открытых окон, размер которых хотите изменить:

JFrame fr=getNewlyOpenendWindowReference(); // get a reference to the JFrame
fr.setSize(fr.getSize().getWidth() + 10,fr.getSize().getHeight() + 10);
fr.repaint();

это должно увеличить размер длины JFrame и ширины на 10 пикселей за вызов.

0 голосов
/ 08 октября 2010

Создать класс Controller для обработки событий действия.

Определите FramePanel extends JPanel и добавьте к нему свои кнопки. Установите константы в классе со значениями событий действия и установите их на своих кнопках. Затем вы можете создать экземпляр FrameController и добавить его в качестве прослушивателя для этих кнопок, используя JButton.addActionListener(). Или вы можете сделать это в конструкторе класса FrameController.

public class FrameController implements ActionListener {
  private JFrame openedFrame;

  public static final int MINIMUM_HEIGHT = 200;

  public FrameController(FramePanel panel) {
    this.panel.getOpenFrameButton().addActionListener(this);
    this.panel.getIncreaseHeightButton().addActionListener(this);
    this.panel.getDecreaseHeightButton().addActionListener(this);
  }

  @Override
  public void actionPerformed(ActionEvent e) {
    String action = e.getActionCommand();
    if (action.equals(FramePanel.ACTION_OPEN_FRAME)) {
      this.openedFrame = new JFrame();
      // set it up how you want it
    } else if (action.equals(FramePanel.ACTION_INCREASE_HEIGHT)) {
      this.openedFrame.setSize(this.openedFrame.getWidth(), this.openedFrame.getHeight() + 10);
    } else if (action.equals(FramePanel.ACTION_INCREASE_HEIGHT)) {
      int newHeight = this.openedFrame.getHeight() - 10;
      if (newHeight < FrameController.MINIMUM_HEIGHT)
        newHeight = FrameController.MINIMUM_HEIGHT;
      this.openedFrame.setSize(this.openedFrame.getWidth(), newHeight);
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...