GUI in JAVAprogrammen mit HTML,CSS,JS?


11.02.2023, 19:07

PS: Kann ich nicht eigentlich in jegliche Oberflächenschnittstelle eines Programms mein eigenes Design reinloaden, bzw. Sogar Programm? Also kann ich nciht einfach die Shcnittstelle nehmen und dann da was reinloaden, das aber woanderst designt wurde und vielleicht sogar Brechnet wird?

alexthenr14  11.02.2023, 19:07

Meinst du JavaScript oder Java.

Trismegisto 
Fragesteller
 11.02.2023, 19:09

ja Java

2 Antworten

Also wie designt man eigentlich GUI in JAVA?

Für Java gibt es einige GUI-Toolkits, auf die du zurückgreifen kannst. Dazu gehören Apache Pivot, AWT, Swing, SWT oder JavaFX.

Zu den vier letztgenannten findest du auch Visual Designer Tools, in denen du dir die Oberfläche (statt sie textuell zu schreiben) zusammenklicken kannst. Sie sind / werden in IDEs wie Eclipse, IntelliJ oder NetBeans integriert.

Jetzt die Frage kann man nicht alles in JAVAprogrammen, auch mit HTML,CSS,JS designen?

Zum einen verfügt das JavaFX-Toolkit auch über eine WebView-Komponente, in der man ein HTML-Dokument einbinden kann. Alternatv dazu gibt es Bibliotheken wie JCEF oder JxBrowser.

Zum anderen kannst du auch einfach direkt eine Webanwendung entwickeln, bei der Java im Backend agiert.

Wie designt man überhaupt Komplexe Grafische Oberflächen in Prgrammiersprachen wie JAVA,C und so weiter?

Für komplexe Oberflächen wäre es zunächst sinnvoll, eine Vorplanung in Skizzen o.ä. vorzunehmen. So einfach drauflos klicken/tippen wäre keine gute Idee.

Eine komponentenbasierte / modulare Entwicklung ist sinnvoll. Das heißt, die Oberfläche wird in einzelne Abschnitte unterteilt, die nach und nach zusammengefügt werden. Entwurfsmuster wie MVC oder MVVM sind hierbei besonders hilfreich, um Anwendungs- und Oberflächenlogik möglichst stark voneinander zu entkoppeln.

Für viele Programmiersprachen wirst du GUI-Toolkits finden. Entweder gibt es bereits eine Integration in der Standardbibliothek selbst (so wie es für Java bei AWT und Swing der Fall ist) oder du kannst auf eine Drittanbieterlösung zurückgreifen. Explizit für C gibt es beispielsweise GTK+ oder XForms.

PS: Kann ich nicht eigentlich in jegliche Oberflächenschnittstelle eines Programms mein eigenes Design reinloaden, bzw. Sogar Programm?

Wenn dir ein entsprechendes Interface zur Verfügung steht, ja.

In JavaFX ist die WebView-Komponente so ein Interface, denn sie kann zum einen mit einer anderen Technologie (HTML, CSS, ...) umgehen und in dein JavaFX-Fenster eingebunden werden und zum anderen gibt es eine API, über die du mit der Komponente sowie ihrem Inhalt kommunizieren kannst.

Wenn es noch keine passende Schnittstelle gibt, müsstest du dir überlagen, wie du selbst eine implementieren kannst.

HTML und CSS sind für Webseiten, die helfen dir ein einem Java-Programm nicht (es sei denn, die Resultate sollen in einem Webbrowser angezeigt werden).

Es gibt verschiedene Möglichkeiten, in Java ein GUI zu programmieren. Z.B. so:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class Foo{

  public static void main(String[] args) {

    JFrame f = new JFrame("A JFrame");
    f.setSize(250, 250);
    f.setLocation(300,200);
    final JTextArea textArea = new JTextArea(10, 40);
    f.getContentPane().add(BorderLayout.CENTER, textArea);
    final JButton button = new JButton("Click Me");
    f.getContentPane().add(BorderLayout.SOUTH, button);
    button.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            textArea.append("Button was clicked\n");
        }
    });
    f.setVisible(true);
  }
}

Quelle: https://stackoverflow.com/questions/5118701/how-to-create-a-gui-in-java