Пользовательский фон панели JPanel
1. Предисловие
1. Полное имя графического интерфейса - графический пользовательский интерфейс, который является графическим пользовательским интерфейсом. GUI Java широко используется в нашей жизни и также очень распространен. Многие приложения используют этот графический интерфейс для программы и дизайна, например, нажатие значка QQ, чтобы вспять соответствующую форму входа.
Как правило, взаимодействие между программами и пользователями основано на запущенном интерфейсе соответствующей программы.
2. Панель JPanel - это класс контейнеров панели под свинг. Эта панель поддерживает гнездование, может устанавливать методы макета и устанавливать различные менеджеры макетов для добавления других элементов управления, таких как кнопки JButton, текстовые поля JTEXTFIELD и т. Д. Для разработки и улучшения формы интерфейса программы.
Это далеко не достаточное для поддержки Betbackground () в качестве панели чертежей. Здесь мы реализуем настройку, чтобы установить фон изображения для JPanel.
2. Инструменты платформы
1.myeclipse
Продемонстрировать использование MyeClipse2014 здесь
Другие платформы, которые поддерживают Java Awt+Swing, также доступны
3. Отображение изображения
1. Различные эффекты обработки JPanel в одной и той же форме
(1) Сначала создайте немодифицированную форму. Общий эффект интерфейса JPanel по умолчанию выглядит следующим образом:
(2) Простая настройка цветовых эффектов фона:
(3) Настроил форм эффект в соответствии с JPanel после обработки:
2. Реализация кода
Настройте обработку фоновой обработки JPanel, изображение - BG.PNG, и оно находится на том же пути, что и тестовый класс. Пожалуйста, используйте относительный путь при использовании изображения.
импортировать java.awt.graphics; Импорт javax.swing.imageicon; импортировать javax.swing.jframe; импортировать javax.swing.jpanel; открытый класс Guitest {private static jframe jframe; // объявить форму частного JPanel JPanel; // объявить Artboard public guitest () {// метод строительства jframe = new jframe (); init (); } private void init () {jframe.setTitle ("test"); jpanel = new jpanel () {// Код ключа - это переписать метод Paint @Override Protected void PaintComponent (Graphics G) {Super.PaintComponent (G); ImageICon img = new ImageICon (guitest.class.getresource ("bg.png")); / *** bg.png заменяется своим собственным изображением* относительный путь, используемый здесь, Bg.png находится на том же пути, что и тестовый класс* Однако рекомендуется использовать относительные пути, чтобы избежать использования абсолютных путей*/ img.painticon (это, g, 0, 0); }}; jpanel.setopaque (true); jframe.setbounds (200, 200, 500, 400); // Установить позицию дисплея 200 пикселей влево, а верхние 200 пикселей и размер экрана - 500*400 jframe.add (jpanel); // Добавить артборд в форму jframe.setVisible (true); // Установить интерфейс отображения} public static void main (string [] args) {new guitest (); // создание объекта}} 4. Разверните менеджер макета
Вот простая форма входа в систему:
Простая форма входа в систему, реализованную на основе пользовательского фона JPanel, настройка макета GridBaglayout, добавление текстовых поксов кнопок и других основных элементов управления.
(1) Код выглядит следующим образом:
импортировать java.awt.graphics; импортировать java.awt.gridbagconstraints; импортировать java.awt.gridbaglayout; импортировать java.awt.insets; Импорт javax.swing.imageicon; Импорт javax.swing.jbutton; импортировать javax.swing.jframe; импортировать javax.swing.jlabel; импортировать javax.swing.jpanel; импортировать javax.swing.jpasswordfield; импортировать javax.swing.jtextfield; открытый класс Guit {// объявить форму, панель и контроль частного статического jframe jframe; Частный Jlabel Jlabel, Jlabel1; Частный Gridbaglayout Gridbag; Частные сетки -богостоящие ограничения; Private Jtextfield Jtfield1; Private JPasswordfield JPFIELD1; Частный Jbutton Jbutton1, Jbutton2, Jbutton3; Частный JPanel JPanel; public guit () {jframe = new jframe (); jlabel = new jlabel (); jlabel1 = new jlabel (); jtfield1 = new jtextfield (); jpfield1 = new jpasswordfield (); Gridbag = new Gridbaglayout (); jbutton1 = new jbutton (); jbutton2 = new jbutton (); jbutton3 = new jbutton (); init (); } / ** * init () инициализировать и отображать интерфейс * / private void init () {jframe.setTitle ("login"); / *** Установить фон jpanel*/ jpanel = new jpanel () {@Override Protected void PaintComponent (Graphics G) {super.paintcomponent (g); ImageICon img = new ImageICon (guitest.class.getresource ("ddmbg.jpg")); img.painticon (это, g, 0, 0); }}; // Инициализировать текст для jlabel, jbutton jlabel.settext («Имя пользователя:»); jlabel1.settext ("пароль:"); jbutton1.settext ("login"); jbutton2.settext ("exit"); jbutton3.settext ("Register"); // Установить позицию дисплея и размер экрана 500*400 jframe.setBounds (450, 240, 400, 240); // JPanel использует Mayout Mayout Mayout Mayout GridBaglayout JPanel.SetOpaque (false); jpanel.setlayout (Gridbag); // Инициализируйте метку имени пользователя и добавьте элемент управления в Artboard Raments = GetGridbagConstraints (0,0,1,1,0,0, GridbagConstrants.Center, GridbagConstraints.none, новые вставки (10,0,0,0,0), 0,0); Gridbag.SetConstraints (jlabel, ограничения); jpanel.add (jlabel); // Инициализировать текстовое поле пользователя и добавить компонент в Artboard Rundants = getGridbagConstraints (1,0,1,1,0,0, GridbagConstrants.center, GridbagConstraints.none, новые вставки (10,0,0,10,0), 100,0); Gridbag.SetConstraints (JTField1, ограничения); jpanel.add (jtfield1); // Инициализировать ограничения метки пароля = getGridbagConstraints (0,1,1,1,0,0, GridbagConstraints.Center, GridbagConstraints.none, новые вставки (10,0,10,0), 0,0); Gridbag.SetConstraints (jlabel1, ограничения); jpanel.add (jlabel1); // Инициализировать пароль текстовых поля ограничения = getGridbagConstraints (1,1,1,1,0,0, GridBagConstraints.Center, GridbagConstraints.none, новые вставки (10,0,10,0), 100,0); Gridbag.SetConstraints (JPField1, ограничения); jpanel.add (jpfield1); // Инициализировать кнопку регистрации и добавить элемент управления в Artboard ограничения = getGridbagConstraints (0,2,1,1,0,0, GridbagConstrants.center, GridbagConstraints.none, новые вставки (10,0,10,0), 0,0); gridbag.setconstraints (jbutton3, ограничения); jpanel.add (jbutton3); // Инициализировать ограничения кнопки входа в систему = getGridbagConstraints (1,2,1,1,0,0, GridbagConstraints.center, GridbagConstrants.none, новые вставки (10,0,10,0), 0,0); Gridbag.SetConstraints (JButton1, ограничения); jpanel.add (jbutton1); // инициализировать ограничения кнопки выхода = getGridbagConstraints (2,2,1,1,0,0, GridbagConstraints.center, GridbagConstraNts.none, новые вставки (10,0,10,0), 0,0); Gridbag.SetConstraints (JButton2, ограничения); jpanel.add (jbutton2); // Добавить artboard в формирование jframe.add (jpanel); //Form initialization is completed} private static GridBagConstraints getGridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets int ipadx, int ipady){ return new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, Якорь, заполнение, вставки, iPadx, iPady); } public static void main (string [] args) {new guit (); jframe.setvisible (true); }}где ddmbg - это имя изображения
(2) Эффект показан на рисунке:
Макет является фундаментом и также очень важна в дизайне GUI.
Чтобы быть опытным в использовании и освоении трех основных макетов и других менеджеров макетов, вам нужно практиковать самостоятельно.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.