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

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


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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...