• Компютри и Електроника
  • Програмиране

Как да се създаде Java Swing GUI

Тази статия обяснява как да се създаде просто приложение, което виждате вдясно, и да предостави изходния код.


За да поставите бутони, текстови етикети и други компоненти в своята кандидатура, трябва да се разбере как JPanel. Това е един вид контейнер за компоненти, които заема правоъгълна площ на екрана и показва компонентите са приведени в съответствие с някои прости принципи. Как точно поставени компоненти, в зависимост от типа на разположение имате за панела. За прости задачи за програмиране трябва да знаете, най-малко, BorderLayout, която има компоненти по ръбовете и голям компонент е в средата, а след това FlowLayout, който обикновено има няколко компонента хоризонтално, и най-накрая, GridLayout, който има компоненти в произволна маса п * т. Има и други видове, но те са твърде сложни за начинаещи. Ключовата идея е, че компонентът може да не е бутон или квадратче само, а друг JPanel. Можете да получите доста сложен потребителски интерфейс, просто чрез поставяне на един панел на друг от тях и планиране избора.


Ако имате копие на даден обект JPanel, обадете се на метода .setLayout, за да зададете вида на метод за планиране и след .add, за да добавите към компонентите на панела. Където BorderLayout като втори параметър, което трябва да премине на ден. Например, да се поставят върху бутона в горната част, повикването myPanel.add (myButton, BorderLayout.North).


Контейнерът на най-високо ниво, което се появява на екрана, който представлява Java за кандидатстване, е пример за JFrame, и не JPanel. За да добавите Вашия основен панел, за да копирате JFrame Просто се обадете myJFrame.getContentPane (). добави (myJPanel, BorderLayout.Center).


За да направите вашата заявка да направи повече от това просто да се появи, което трябва да разберат интерфейс ActionListener. Във всеки neabstraktne ActionListener има само един метод actionPerformed, който се нарича, когато потребителят изпълняват действия по компонент, в който регистрираното слушателя (например, ефектът на бутона - това е очевидно я натиснете). За да се регистрирате слушател да бутони за действие или всяка друга .addActionListener компонент метод разговор ..

Стъпки

Метод 1 от 2: Създаване на обща рамка

    Как да се създаде Java Swing GUI
  1. Създаване на клас, който се простира на класа JFrame. Този клас ще съдържа всички компоненти графичен интерфейс (GUI), като копчета и текстови полета.

  2. Помислете за цялостния вид на първата си молба. Тя ще започне с централен тип панел BorderLayout От друга панел в долната част (BorderLayout.South). Този втори панел ще има вид FlowLayout и съдържа няколко бутона, за маркиране и други елементи за управление. Накрая, се поставят голям компонент JTextArea в центъра на централния компонент. За да взаимодействат с потребителя чрез текст, можете да използвате методите getText () и setText ().

  3. Как да се създаде Java Swing GUI
  4. Напиши конструктор за класа си. Този конструктор трябва да създаде всички панели и компоненти, които сте планирали, ги подредите правилно и добавете последната лента, която се прикрепя към рамката си всички (MyFrame.getContentPane (). Добави (myLargePanel, BorderLayout.Center).

  5. Как да се създаде Java Swing GUI
  6. Моля метод основната, която е на входната точка на програмата. При този метод, ще създаде екземпляр на рамката, определи началния размер и позиция (използване.setSize (X, Y) и .setLocation (ширина, височина) ), И да я извеждат на екрана, причинявайки .setVisible (вярно).

Метод 2 от 2: Програмиране отговор на действията на потребителите

    Как да се създаде Java Swing GUI
  1. Направи си конструкция изпълнява интерфейс ActionListener. Това ще позволи на вашия клас да слушате компоненти за действие.

  2. Как да се създаде Java Swing GUI
  3. За всеки един от бутоните, за маркиране или други елементи за управление, които сте създали, обадете се на метода.addActionListener, Прехвърляне на вашите рамка (това) Като параметър.

  4. Замяна абстрактен метод клас ActionListener, наречен actionPerformed (ActionEvent събитие). При този метод, трябва да добавите условния израз "ако", за да видите къде се случват събитие. Това условие оператор "ако" състояние трябва да изглежда по следния начин: ако (event.getSource () == button1). Съществуват потвърдени, когато от мястото на събитието, и тя дойде от един бутон. Inside изразът "ако" да извършва действия, които трябва, когато натиснете бутона.

    Как да се създаде Java Swing GUI

  5. Как да се създаде Java Swing GUI
  6. В JTextArea е метод .setText (myText), който е един добър начин да се определи видим отговор на вашите действия.

Съвет

  • Не е много по-трудно да се приложи на интерфейс MouseListener и използване .addMouseListener, За да се регистрирате за някой от нейните компоненти.

  • Ако искате да поканите на потребителя да въведе някакъв низ, обадете се на статичния метод JOptionPane.showInputDialog (тази, Моето послание). Първият параметър трябва да оформи вашата кандидатура или всеки панел (вход поле се появява в средата на родителския елемент). Методът връща стойността че потребителят влезе в диалоговия прозорец.

  • Възможно е да се поставят всички компоненти на една страна, като се използва тип GridBagLayout, но този клас е по-трудно да се управлява.

  • Можете да рисувате своя собствена графика (например, шахматно), прочетете за платното компоненти. Тя може да бъде поставен в заявлението си като всеки друг компонент, но трябва да се напише метод .paint, е изцяло отговорен за постановяването му.

  • В много реални приложения на най-полезен компонент е люлка JTable. След изучаването на основите, да продължи да работи с него.

Предупреждение

  • Някои инструменти за разработка предлагат и възможността да направите метод на Swing GUI, удобен за потребителя. Често обаче те не могат правилно да направи панел с разширени функции. Тези функции включват дърво, маси, списъци и комбинирани списъци, които променят съдържанието им, тъй като те работят програми и компоненти, доставени с потребителски данни и т.н. Код, написани на такъв режим на лесен за употреба, ще бъде кошмар, ако тогава ще трябва да го завършим с ръка. Така също не се увличат от дизайнери като GUI, удобен за потребителя, защото това ще ограничи възможностите си, защото от тяхното увреждане.

  • Люлка - е единична резба приложение. Ако завършите действието отнема твърде много време, той ще затвори, докато не ще излезете от метода .actionPerformed. Научете и използвайте многонишкова Java, Swing да остане жив дълго е труден процес.

  • Повечето методи за Swing компоненти могат безопасно да се обаждат само тече насрочване на събития (метод .actionPerformed и други подобни методи слушател). Ако искате да ги наречем от някакъв друг поток (например, да се актуализират или показател за напредъка да покаже резултатите от един дълъг процес), запознайте се с SwingUtils.invokeLater.