Комбінування схем розміщення

Як ви думаєте, чи можна за допомогою GridLayout створити калькулятор, який буде виглядати так само, як стандартний калькулятор в Microsoft Windows

На жаль, немає, так як осередки цього калькулятора мають різні розміри – текстове поле більше кнопок Але вміст вікна можна представити за допомогою декількох панелей, у яких схеми різні Спробуємо використовувати комбінацію декількох схем в новомкалькуляторе Для цього необхідно виконати наступні кроки: ü  Призначити BorderLayout панелі фрейма, яка буде основною, і в якій міститимуться інші панеліü  Додати JTextField в північну частину, для того щоб відображати введені чіслаü  Створити панель p1 з GridLayout, додати на неї 20 кнопок і потім помістити цю панель в центральну область основній панелі ü  Створити панель p2 з GridLayout, додати на неї чотири кнопки ізатем помістити панель p2 в західну область основній панелі Давайте почнемо з більш простої версії калькулятора, яка буде виглядати ось так:

Створіть новий клас Calculator і запустіть програму Щоб зрозуміти, як вона працює, прочитайте коментарі в прикладі коду, продемонстрованому нижче

import javaxswing*

import javaawtGridLayout import javaawtBorderLayout public class Calculator {

/ / Оголошення всіх компонентів калькулятора JPanel windowContent

JTextField displayField

JButton button0 JButton button1 JButton button2 JButton button3 JButton button4 JButton button5 JButton button6 JButton button7

JButton button8 JButton button9 JButton buttonPoint

JButton buttonEqual JPanel p1

/ / У конструкторі створюються всі компоненти

/ / І додаються на фрейм за допомогою комбінації

/ / Borderlayout і Gridlayout

Calculator(){

windowContent= new JPanel()

/ / Задаємо схему для цієї панелі BorderLayout bl = new BorderLayout() windowContentsetLayout(bl)

/ / Створюємо і відображаємо поле

/ / Додаємо його в Північну область вікна

displayField = new JTextField(30)

windowContentadd(&quotNorth&quot,displayField)

/ / Створюємо кнопки, використовуючи конструктор

/ / Класу JButton, який приймає текст

/ / Кнопки як параметр

button0=new JButton(&quot0&quot) button1=new JButton(&quot1&quot) button2=new JButton(&quot2&quot) button3=new JButton(&quot3&quot) button4=new JButton(&quot4&quot) button5=new JButton(&quot5&quot) button6=new JButton(&quot6&quot) button7=new JButton(&quot7&quot) button8=new JButton(&quot8&quot) button9=new JButton(&quot9&quot) buttonPoint = new JButton(&quot.&quot) buttonEqual=new JButton(&quot=&quot)

/ / Створюємо панель з GridLayout

/ / Яка містить 12 кнопок – 10 кнопок з числами

/ / І кнопки з точкою і знаком одно

p1 = new JPanel()

GridLayout gl =new GridLayout(4,3)

p1setLayout(gl)

/ / Додаємо кнопки на панель p1 p1add (button1)

p1add(button2)

p1add(button3) p1add(button4) p1add(button5) p1add(button6) p1add(button7)

p1add(button8) p1add(button9) p1add(button0) p1add(buttonPoint) p1add(buttonEqual)

/ / Розміщуємо панель p1 в центральну область вікна

windowContentadd(&quotCenter&quot,p1)

/ / Створюємо фрейм і задаємо його основну панель JFrame frame = new JFrame(&quotCalculator&quot) framesetContentPane(windowContent)

/ / Робимо розмір вікна достатнім

/ / Для того, щоб вмістити всі компоненти

framepack()

/ / Нарешті, відображаємо вікно

framesetVisible(true)

}

public static void main(String[] args) {

Calculator calc = new Calculator()

}

}

Джерело: Java Programming for Kids, Parents and Grandparents by Yakov Fain

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*