Как да се създаде Java люлка 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. Всяко не-абстрактно ActionListener има само един метод на actionPerformed, който се нарича, когато потребителят извършва "действието" на компонента, в която слушателят е регистриран (например, ефектът от бутона - това очевидно натискане). За да регистрирате слушател за бутони за действие, или някой друг компонент, обадете метод .addActionListener. ,
редактиране стъпки
Edit Метод 1 от 2:
Създаване на обща рамка
Създаване на клас, който се простира на класа JFrame. Този клас ще съдържа всичките си компоненти са графичен потребителски интерфейс (GUI), като например бутони и текстови полета.
Напиши конструктор за класа си. Този конструктор трябва да създаде всички панели и компоненти, които сте планирали да ги подредите правилно и добавяне на последния панел, който "отдава всичко", за да си рамка (myFrame.getContentPane (). Добавете (myLargePanel, BorderLayout.Center).
Напиши главен метод, който е на входната точка на програмата. Този метод създава инстанция на рамката, задайте своя първоначален размер и позиция (използване .setSize (X, Y) и .setLocation (ширина, височина)), както и да изглежда на екрана, което води до .setVisible (вярно).
редактиране Съвети
- Това не е много по-трудно за изпълнение MouseListener интерфейс и използват .addMouseListener. За да се регистрирате за някой от нейните компоненти.
- Ако трябва да се поиска от потребителя да въведе някакъв низ, обадете се на статичния метод JOptionPane.showInputDialog (това, "Моето послание"). първия параметър трябва да бъде рамката на вашата кандидатура или всеки панел (текстово поле се появява в средата на майка елемент). Методът връща стойността, която потребителят влезе в диалоговия прозорец.
- Възможно е да се поставят всички компоненти на един панел, с помощта на класа GridBagLayout, но този клас е по-трудно да се управлява.
- Ако искате да се направи свои собствени графични обекти (като шахматна дъска), четете нататък Canvas компонент. Тя може да бъде поставен в молбата си като всеки друг компонент, но ще трябва да се напише метод .paint, която е изцяло отговорен за изготвянето му.
- В много от реалния свят приложения за най-полезен компонент на Swing е JTable. След изучаването на основите, да продължи да работи с него.
редактиране Предупреждения
- Някои инструменти за развитие предлагат възможността да се създават Swing GUI начин ", лесен за употреба". Въпреки това, те често не са правилно се направи панел с разширени функции. Тези функции включват дървета, таблици, списъци и комбинирани списъци, които се променят съдържанието си като програмата за работа, както и компоненти с модели на потребителски данни и т.н. Код написано в този "лесен" начин, ще бъде истински кошмар, ако по-късно трябва да го добавите ръчно. Поради това, че не се извършва твърде далеч като "графичните потребителски дизайнери, лесни за ползване", тъй като това ще ограничи възможностите поради техния ограничен капацитет.
- Swing - това е еднонишкови приложения. Ако обработката стъпки сте приели твърде много време, "увисва", докато има изход от метода .actionPerformed. Научете и използвайте мултитрединга Java, Swing да остане "жив", докато работи известно време отнема процес.
- Повечето методи за режещи компоненти могат безопасно да бъдат наречени само от събитие изпращане резбата (метод .actionPerformed и други подобни методи на слушателя) на. Ако имате нужда да им се обадя от някой друг поток (например, да се актуализират показател за напредъка или показване на резултатите от един дълъг процес), прочетете за SwingUtils.invokeLater.