Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Java GUI med C++ funktion

Postades av 2003-04-10 14:47:11 - Jocke ViCe, i forum c++, Tråden har 5 Kommentarer och lästs av 754 personer

tjena, jag hade tänkt prova bygga upp ett GUI i Java. Funktionalliteten hade jag tänkt hämta från C++, är detta möjligt?!? om JA, hur?

/* Alltså d man ser vill jag prova göra i Java och d som händer i programmet vill jag skriva i C++ */


Svara

Sv: Java GUI med C++ funktion

Postades av 2003-04-10 17:13:36 - Anders Lindén

Hej!

Du kan anropa C++ från Java genom att använda något som heter JNI.

Så här skall C++-funktionen se ut:

#include <windows.h>
#include "<jni.h>

JNIEXPORT void JNICALL Java_testingjni_pipa(JNIEnv *, jobject)
{
Beep(2000,20);
}



Vi kompilerar denna (I vc++) och skapar en DLL som vi döper till test.dll.



Så här ser Javan ut:

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

public class testingjni extends JFrame implements ActionListener
{
public native void pipa();
testingjni()
{
getContentPane().setLayout(null);

JButton b=new JButton("pip");
b.addActionListener(this);

setBounds(0,0,500,500);
getContentPane().add(b);

b.setBounds(30,30,200,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);

System.loadLibrary("test");
show();
}

public static void main(String s[])
{
new testingjni();
}

public void actionPerformed(ActionEvent e)
{
pipa();
}
}



mvh
Anders Lindén


Svara

Sv: Java GUI med C++ funktion

Postades av 2003-04-10 18:13:11 - Jörgen Lindroos

Jag skulle vilja göra tvärsom, dvs. Funktionalitet i Java men GUI i C++. Nån som vet hur jag gör det?

/Jörgen


Svara

Sv: Java GUI med C++ funktion

Postades av 2003-05-01 12:05:30 - Jocke ViCe

ok, tack för det.


Svara

Sv: Java GUI med C++ funktion

Postades av 2003-12-26 18:42:07 - Jörgen Lindroos

Också en gammal öppen tråd. Det gick att göra funktionalitet i Java men GUI i C++. Kom aldrig så långt i det projektet att det behövdes men jag kollade först hur jag skulle få till ett snabbt GUI, samtidigt som jag använde Javas Sound API.

Kommer inte ihåg riktigt hur det var men jni.h hade structs och typedefs för javatyper. Där fanns nåt som hette jclass, och nåt som hette jobject. Via dessa typer kunde jag kalla på funktioner i javaklasser(statiska) och javaobjekt. Alltså gjorde jag en JNI-funktion i C++, ungefär så här:

#include <windows.h>
#include "<jni.h>

JNIEXPORT void JNICALL Java_SoundKlass_startGui(JNIEnv *env, jobject sound_object)
{
start_gui();
jclass cls = (*env)->GetObjectClass(env, obj);
jmethodID mid = (*env)->GetMethodID(env, cls, "playsound", "(Ljava/lang/String;)V");

(*env)->CallVoidMethod(env, obj, mid, "sound.wav");
}

I Java-koden körs startGui();

Det smartaste är att göra en likadan klass i C++ som har samma funktioner som Java-klassen. I C++-koden körs java-funktionerna. Sen kan man använda C++klassen i resten av sin kod.

/Jörgen


Svara

Sv: Java GUI med C++ funktion

Postades av 2003-12-27 23:11:23 - Jörgen Lindroos

Ehh, det här var ju inte alls min tråd. Var fick jag det ifrån?
Hade för mig att jag har skrivit en tråd om ämnet. Men det kanske bara var inlägget i denna tråd. Ber om ursäkt, jag hoppas att min lösning på _mitt_ problem kan glädja nån iallafall.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 484
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies