2013-12-15 3 views
2

Как преобразовать paintComponent в то, что я могу манипулировать с помощью макета в JFrame?Использование paintComponent с макетом

Итак, у меня проблема. Меня не научили (и у меня нет доступа к книге), как использовать макеты/инструменты GUI на моих курсах.

Моя проблема заключается в следующем: у меня есть программа, в которую пользователь вводит число. На основе этого числа программа вычисляет круг и вытягивает его с помощью метода paintComponent, который имеет внутри него цикл for. «Пиксели», на которые нарисован круг, на самом деле - это методы fillRect. Текущий метод ввода пользовательского ввода, который я использую, является JOptionPaneshowInputDialog. Это нормально, но я хочу, чтобы пользователь мог выбирать из набора заранее определенных чисел. Кто-то предположил, что я использую JComboBox, но я не знаю, как бы преобразовать paintComponent в то, что можно было бы использовать менеджером компоновки (который, как я узнал, должен использовать JComboBox). Я знаю размеры paintComponent (805px на 805px), и нет ситуации, когда он изменится. Если бы я мог немного помочь с этим битом, я уверен, что сам смогу выяснить, используя менеджер компоновки.

+2

Есть ли у вас доступа к интернету? Я слышал, что там больше информации, чем книг. – Kayaman

+0

@AndrewThompson Простите, просто проснулся. Как преобразовать 'paintComponent' в то, что я могу манипулировать с помощью макета в' JFrame'? – tssguy123

+0

Вопрос в том, где это место. Я сделал редактирование, чтобы мы могли удалить этот шум. –

ответ

2

Другой способ рисования (помимо индивидуальной живописи) состоит в том, чтобы нарисовать до BufferedImage. Затем изображение можно отобразить в поле JLabel.

Примеры:

+0

Как мне это сделать? Вы могли бы связать меня с ресурсом? – tssguy123

+0

Я не обновился после того, как вы его отредактировали, по-видимому. Получил это работу, спасибо :) – tssguy123

0

Вы не знаете размеры paintComponent, потому что это метод, а методы не имеют размеров. Вы, вероятно, знаете размеры JPanel или JFrame или независимо от вашего компонента.

Вы должны отделить панель, в которой вы делаете картину, и другую панель, которая будет содержать любые выпадающие списки или другие входы, которые вы решите вставить. Таким образом, вы можете сохранить свою панель чертежа как есть, и они не будут мешать друг с другом. Вы хотите найти учебник по адресу LayoutManagers.

+0

Вы знаете этот прямоугольник вкл. грязные регионы – mKorbel

Смежные вопросы