Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

Ich habe eine relativ großes Programm geschrieben, welches jetzt auch unter Mac laufen soll. Ich hab das bisher unter Windows geschrieben.

Da ich leider keinen Mac zur verfügung habe würde ich gern wissen ob es eine art simulator für Mac gibt, den ich nutzen könnte ob mein Programm funktioniert.

Weiß dazu jemand etwas?

Außerdem habe ich gelesen, dass wenn man Swing benutzt ein paar Anpassungen vornehmen muss, welche wären das? Hab dazu bisher leider keine ordentliche Seite gefunden.

Geschrieben

Ich hab sowas noch nie Probiert, aber ich würde mir einfach eine Virtuelle Maschine (bspw. VMware) drauf machen Mac installieren mit java usw. und testen ;).

Geschrieben

Java ist doch plattform unabhängig.. wenn du keine c-bibliotheken die nur für windows geignet sind benutzt hast, dann wird das laufen. anpassungen musst du nur vornehmen wenn du willst, das dein java programm wie ein normales mac, windwos ect. programm aussieht.

das machst du mit

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

Geschrieben

naja also ich hab jetzt

String lcOSName = System.getProperty("os.name").toLowerCase();

		boolean IS_MAC = lcOSName.startsWith("mac os x");

			if(IS_MAC == true)

			{

				System.setProperty("apple.laf.useScreenMenuBar", "true");

				//System.setProperty("com.apple.mrj.application.apple.menu.about.name", "WikiTeX");

				try {

					UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

				} catch (Exception e) {

					e.printStackTrace();

				}

				System.setProperty("com.apple.macos.smallTabs", "true");

			}
angefügt in der Hoffnung dass jetzt auch die MenüItems richtig angezeigt werden. Außerdem habe ich Informationen aus und in Textdateien gelesen etwa so:

BufferedWriter out = new BufferedWriter(new FileWriter("speicher.txt"));

Kommt da nicht native Code zum Einsatz? Funktioniert das dann auch unter Mac? Und die Funktion
	public void centerWindow(Window window) {

	    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

	    Dimension frameSize = window.getSize();

	    if (frameSize.height > screenSize.height) {

	      frameSize.height = screenSize.height;

	    }

	    if (frameSize.width > screenSize.width) {

	      frameSize.width = screenSize.width;

	    }

	    window.setLocation((screenSize.width - frameSize.width) / 2,

	                       (screenSize.height - frameSize.height) / 2);

	}

wirft auch keine Fehler aus?

VMware hab ich nichts für Mac auf Windows gefunden

Geschrieben

VMware emuliert einen Computer.

D.h. du musst dir VMware (oder ähnliche Programme) holen und dann darauf, wie auf einem normalen PC, Mac installieren.

Geschrieben


BufferedWriter out = new BufferedWriter(new FileWriter("speicher.txt"));

Kommt da nicht native Code zum Einsatz?

Funktioniert das dann auch unter Mac?

Natürlich kommt da nativer Code zum Einsatz. Aber da der FileWriter eine Klasse der Java API ist und diese auch für MAC-OS portiert wurde wird der ClassLoader schön brav die Klasse aus dem installierten JAVA-Paketen laden. Und das ist dann natürlich nicht die Klasse für Windows sondern die für MAC. Die beiden Klassen sind wahrscheinlich sogar vom Quellcode her identisch, nur das Windows über JNI ne DLL einbindet und Mac irgendwas anderes.

Generell sollten Swing-Programme überall gleichermaßen funktionieren (vorausgesetzt der Platz auf dem Bildschirm reicht aus). Da bei Swing alles gezeichnet wird ist das absolut unkritisch. Wenn du jedoch SystemLookAndFell verwendest kann es mitunter Probleme geben, da einige Komponenten breiter oder höher sind und die Schriftarten andere sind und dadurch vielleicht der ein oder andere Button nicht mehr lesbar ist.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...