Как работает функция заставки NetBeans? - PullRequest
4 голосов
/ 12 февраля 2011

Новичок в NetBeans и только что заметил, что в диалоговом окне Файл >> Свойства проекта >> Приложение есть текстовое поле с пометкой Заставка , которое позволяет указать путь кизображение, которое вы хотели бы отобразить при запуске вашей программы.

Я хочу настроить способ работы моего заставки (добавление индикатора выполнения и т. д.) и хочу кодировать его с нуля, но неНе знаю, с чего начать.Каковы лучшие практики для заставок на основе Java / Swing?

Спасибо за любой вклад!

Ответы [ 8 ]

2 голосов
/ 12 декабря 2012

Свойства проекта -> Приложение -> Заставка позволяет добавить изображение в приложение. Это свойство устанавливает значение в MANIFEST.MF, называемое SplashScreen-Image:, например. SplashScreen-Image: META-INF/GlassFish316x159.jpg Это свойство автоматически заставит изображение отображаться как заставку. Он не работает внутри NetBeans и должен запускаться вне среды IDE.

Существует учебное пособие Учебное пособие для начинающих по начальному экрану , в котором подробно описано, как его использовать. Учебное пособие было сделано для NetBeans 6.8, но будет работать на 7.2.1, которая является последней на момент публикации.

0 голосов
/ 12 февраля 2011

Также рассмотрите возможность создания приложения на платформе NetBeans (RCP на основе Swing). Одно из многих преимуществ: он поставляется с настраиваемым заставкой с индикатором выполнения.

Пример индикатора выполнения: http://platform.netbeans.org/tutorials/nbm-paintapp.html#wrappingUp

Перенос приложения Swing на платформу NetBeans: http://platform.netbeans.org/tutorials/60/nbm-porting-basic.html

Дополнительные ссылки:

http://netbeans.org/features/platform/index.html

http://netbeans.org/features/platform/all-docs.html

0 голосов
/ 17 марта 2011

Существует пример Javafx-эквивалента экрана-заставки.Однако этот экран-заставка в основном представляет собой java-апплет, который вызывается из javafx для отображения пользователю и имитирует более или менее экран-заставку eclipse и netbeans, используя индикатор выполнения и заголовки для загруженного содержимого. Это ссылка.

Вы должны быть в состоянии получить код и отделить код заставки, написанный на Java-свингах, и использовать его для себя.

Этопользовательские заставки Java качели.и, следовательно, для центрирования заставки используется традиционный

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension labelSize = l.getPreferredSize();
setLocation(screenSize.width / 2 - (labelSize.width / 2), 
                  screenSize.height / 2 - (labelSize.height / 2));
0 голосов
/ 12 февраля 2011

Если ваше приложение создается с использованием платформы NetBeans, то вот руководство по настройке заставки: http://wiki.netbeans.org/Splash_Screen_Beginner_Tutorial

0 голосов
/ 12 февраля 2011

Надеюсь, это вам поможет, это небольшой пример того, как создать себе простой экран-заставку с помощью фиктивной Progress Bar:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class SplashScreen extends JWindow
{

private static JProgressBar progressBar = new JProgressBar();
private static SplashScreen execute;
private static int count;   
private static Timer timer1;

public SplashScreen()
{                   
    Container container = getContentPane();
    container.setLayout(null);      

    JPanel panel = new JPanel();
    panel.setBorder(new javax.swing.border.EtchedBorder());
    panel.setBackground(new Color(255,255,255));
    panel.setBounds(10,10,348,150);
    panel.setLayout(null);
    container.add(panel);       

    JLabel label = new JLabel("Hello World!");
    label.setFont(new Font("Verdana",Font.BOLD,14));
    label.setBounds(85,25,280,30);
    panel.add(label);

    progressBar.setMaximum(50);
    progressBar.setBounds(55, 180, 250, 15);        
    container.add(progressBar);         
    loadProgressBar();                  
    setSize(370,215);
    setLocationRelativeTo(null);
    setVisible(true);
}
public void loadProgressBar()
{
    ActionListener al = new ActionListener()
    {
        public void actionPerformed(java.awt.event.ActionEvent evt)
        {
            count++;
            progressBar.setValue(count);
            if (count == 50){
                timer1.stop();
                execute.setVisible(false);

                            //load the rest of your application

            }               
        }};         
    timer1 = new Timer(50, al);
    timer1.start();
}

public static void main (String args[]){    
     execute = new SplashScreen();      
   }
}

Ура! * * 1004

0 голосов
/ 12 февраля 2011

Экран-заставка - это просто экземпляр java.awt.Window или недекорированный javax.swing.JFrame.Чтобы создать окно, просто скажите new Window(null), затем установите размер и положение (используя takeit, вы можете рассчитать, где находится центр экрана), а затем скажите window.setVisible(true)

. Благодаря тому, что это ваше собственное окно, вы можете делать то, что выwant: установить макет, изображение, добавить панель процесса на юг и т. д.

Вы также можете использовать JFrame: новый JFrame (). setUndecorated (true) `

0 голосов
/ 12 февраля 2011

Я не уверен, как NetBeans делает это, но заставки поддерживаются JRE начиная с версии 6. См. http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/splashscreen/

0 голосов
/ 12 февраля 2011

Есть несколько способов сделать это.

Чтобы сделать простой экран-заставку (изображение), вы можете указать это в командной строке вашего Java-приложения.

Вот простой пример

java -splash:<file name> <class name>

Однако, если вам нужен индикатор выполнения, вам придется сделать что-то более сложное и написать код самостоятельно.Это делается следующим образом.

  1. Создание компонента JWindow (или Window или undecorated JFrame) с элементами заставки
  2. Установите его на видимый
  3. Сделатьостальная часть кода запуска Swing GUI
  4. Установите JFrame на видимое, а затем сразу же установите JWindow на видимое (ложное)

Это должно показать всплеск почти сразу,затем скрыть, как только ваше приложение будет полностью загружено.

Чтобы увидеть код заставки, посмотрите здесь .Реализация в ссылке только показывает, как добиться того, чего вы можете достичь с помощью команды -splash, но она также даст вам хорошее начало, включив запрошенную вами индикатор выполнения.

...