Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
import java.awt.Window;
import java.awt.Rectangle;
import javax.swing.JDialog;
/**
* <p>Überschrift: </p>
*
* <p>Beschreibung: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Organisation: None</p>
*
* @author Tobias Viehweger
* @version 1.0
*/
public class HelpButton
{
static
{
System.loadLibrary( "HelpButton" );
}
public HelpButton()
{
JDialog dlg = new JDialog();
setDialogHasHelpButton( dlg );
dlg.setSize(500,500);
dlg.setVisible(true);
}
public void setDialogHasHelpButton( Window w )
{
boolean wasVisible = w.isVisible();
Rectangle bounds = w.getBounds();
//Sicherstellen, dass kein Fehler in der nativen Dll erzeugt wird
w.setBounds( 0, 0, 0, 0 );
w.setVisible( true );
setHelpButton( w );
//Sicherstellen, dass das Fenster korrekt angezeigt wird
w.setVisible( false );
if ( bounds != null )
w.setBounds( bounds );
else
w.setBounds( 0, 0, 10, 10 );
w.setVisible( wasVisible );
}
public static void main( String[] args ) {
new HelpButton();
}
public native void setHelpButton( Window w );
}
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelpButton */
#ifndef _Included_HelpButton
#define _Included_HelpButton
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelpButton
* Method: setHelpButton
* Signature: (Ljava/awt/Window;)V
*/
JNIEXPORT void JNICALL Java_HelpButton_setHelpButton
(JNIEnv *, jobject, jobject);
#ifdef __cplusplus
}
#endif
#endif
// HelpButton.cpp : Definiert den Einsprungpunkt für die DLL-Anwendung.
//
#include "HelpButton.h"
#include "jawt_md.H"
HWND getHWnd (jobject window, JNIEnv * env)
{
JAWT awt;
JAWT_DrawingSurface* ds;
JAWT_DrawingSurfaceInfo* dsi;
JAWT_Win32DrawingSurfaceInfo* dsi_win;
//Initalisieren
awt.version = JAWT_VERSION_1_3;
JAWT_GetAWT(env, &awt);
ds = awt.GetDrawingSurface(env, window);
ds->Lock(ds);
dsi = ds->GetDrawingSurfaceInfo(ds);
dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
//Handle speichern
HWND tmp = dsi_win->hwnd;
//Aufraeumen
ds->FreeDrawingSurfaceInfo(dsi);
ds->Unlock(ds);
awt.FreeDrawingSurface(ds);
return tmp;
}
JNIEXPORT void JNICALL Java_HelpButton_setHelpButton
(JNIEnv *env, jobject clazz, jobject window)
{
HWND hWnd = getHWnd(window, env);
SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong ((HWND)hWnd, GWL_EXSTYLE )|WS_EX_CONTEXTHELP);
SetWindowPos(hWnd, HWND_NOTOPMOST, 0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
}