Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Позиционирование контролов / 8 сообщений из 8, страница 1 из 1
19.08.2014, 12:21
    #38723332
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
Начал изучать Java. Пытаюсь на фрейме расположить 16 панелей матрицей 4х4
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public class MainForm() extends JFrame {
  public MainForm() {
    super();
    int cellSize = 50;
    java.awt.Container content = getContentPane();
    Dimension fieldSize = new Dimension(cellSize * 4, cellSize * 4);
    content.setPreferredSize(fieldSize);
    pack();
    int k = 0;
    for (int i = 0; i < Cells.length - 1; i++) {
      for (int j = 0; j < Cells[i].length - 1; j++) {
        Cell newCell = new Cell();
        newCell.setSize(cellSize, cellSize);
        newCell.setLocation(cellSize * i, cellSize * j);
        newCell.setValue(k++);
        content.add(newCell);
      }
    }
  }
}

Здесь Cell - это наследник JPanel, который рисует вокруг себя границу и в центре выводит значение Value. Проблема - 15 панелей выстраиваются как нужно, а 16, вместо того, чтобы стать в правый нижний угол, принимает размеры всего фрейма и ложится под остальные панели. Что я не учитываю?

С уважением, Vasilisk
...
Рейтинг: 0 / 0
19.08.2014, 12:25
    #38723340
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
Код: java
1.
content.setLayoutManager(null)


В целом, я бы не рекомендовал такой подход для отображения неких абстрактных Cell.
...
Рейтинг: 0 / 0
19.08.2014, 12:39
    #38723373
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
Blazkowicz
Код: java
1.
content.setLayoutManager(null)

Спасибо.
BlazkowiczВ целом, я бы не рекомендовал такой подход для отображения неких абстрактных Cell.Что порекомендуете? С лайотами разбираться?

Я сейчас не уверен, что мне нужны JPanel. Мне нужно нарисовать матрицу 4х4 с определенными элементами. Сейчас я заменил JPanel просто на абстрактный класс, который умеет себя рисовать на переданном Graphics
...
Рейтинг: 0 / 0
19.08.2014, 13:21
    #38723430
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
_Vasilisk_Я сейчас не уверен, что мне нужны JPanel. Мне нужно нарисовать матрицу 4х4 с определенными элементами. Сейчас я заменил JPanel просто на абстрактный класс, который умеет себя рисовать на переданном Graphics
Слишком абстрактная задача. Надо смотреть как много Swing API может быть полезным для неё. Бордеры? Интерактивность? Но, в целом, действительно, зачастую проще свою модель отрисовать через Graphics2D. И работать должно быстрее, если не косячить в отрисовке.

Так же, рекомендую смотреть в сторону JavaFX с его векторным 2D и кучей свистулек, которых в Swing нет.
...
Рейтинг: 0 / 0
19.08.2014, 14:28
    #38723504
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
BlazkowiczСлишком абстрактная задача.В качестве обучающего проекта хочу наваять игру 2048. Т.е. из интерактивности - только реакция всего фрейма на клавиши и смена позиции тайла
...
Рейтинг: 0 / 0
19.08.2014, 14:40
    #38723517
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
_Vasilisk_В качестве обучающего проекта хочу наваять игру 2048. Т.е. из интерактивности - только реакция всего фрейма на клавиши и смена позиции тайла
http://blog.brunoborges.com.br/2014/03/javafx-version-of-2048-game.html
...
Рейтинг: 0 / 0
19.08.2014, 14:45
    #38723525
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
Blazkowicz,

Я не говорю, что моя идея уникальна. Просто проект на котором можно набить шишки
...
Рейтинг: 0 / 0
19.08.2014, 14:50
    #38723532
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование контролов
_Vasilisk_Я не говорю, что моя идея уникальна. Просто проект на котором можно набить шишки
Я не говорю, что не надо делать. Я говорю что есть смысл JavaFX изучать, а не Swing/Java2D. А по ссылке подсматривать за подсказками.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Позиционирование контролов / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]