Programmieren – die neusten Beiträge

JavaFX Button auf Controller Funktion zeigen?

Ich will einen Taschenrechner programmieren. Backend logik ist soweit vorhanden, fehlt nur das GUI

Ich dachte mir, dass ich eine Klasse mache, wo ich das GridPane extende und im Konstruktor die buttons adde.

So sieht das etwa aus:

public class FXPane extends GridPane {
    private String[][] buttonTexts = {
            {"7", "8", "9", "(", ")", "BS"},
            {"4", "5", "6", "+", "-", "CE"},
            {"1", "2", "3", "*", "/", "C"},
            {"±", "0", ",", "x^y", "1/x", "="}
    };

    FXPane() {
        for(int y = 0; y < buttonTexts.length;y++){
            for(int x = 0; x<buttonTexts[0].length;x++){
                Button theButtonToAdd = new Button(buttonTexts[y][x]);
                theButtonToAdd.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
                this.add(theButtonToAdd,x,y);
            }
        }
    }
}

Der Controller sieht so aus:

public class Controller {
    @FXML
    private Label fxDisplay;
    @FXML
    private GridPane fxGrid;

    private FXPane buttonPane = new FXPane();

    // called by the FXML loader after the labels declared above are injected:
    public void initialize() {
        fxDisplay.setText("asd");
        fxGrid.add(buttonPane,0,0);
    }
}

Die Namen und der Hack über 2 Gridpanes änder ich noch, geht aber derzeit eher POC, da es das erste mal mit JavaFX ist.

Mein Plan ist, dass die Buttons auf eine Funktion aus dem Controller zeigt bzw aufruft.

Nur ist das vermutlich nicht (schön) möglich. Gibts ne bessere Variante oder ist das der einzige Weg?

Der Plan war, dass der Controller die Taschenrechner Instanz besitzt und jeder Button dann die eingabe an die Taschenrechner Instanz gibt. Nur brauche ich dafür halt noch ein übersetzer, damit der jeweilige Button die jeweilige Eingabe in den Taschenrechner gibt.

Ich könnte natürlich die Controller Instanz per this dem Konstruktor übergeben und dann in FXPane speichern. Nur ist das gut?

Computer, Technik, programmieren, Java, JavaFX, Technologie, GUI

Positionierung von Pfeilen in Flexboxen?

Hallo,

ich wollte bei meiner Website eine kleine Slideshow einbauen. Dazu habe ich erst einmal Pfeile erstellt. Diese wollte ich nun richtig positionieren. Ich hatte die Idee, eine Flexbox um die Bilder mit den Pfeilen zu erstellen und die Pfeile dann einfach mit align-items zu positionieren. Irgendetwas habe ich allerdings falsch gemacht. Vielleicht fällt euch ja mein Fehler auf. Bin für jeden Tipp dankbar.

html:

<div class="slide">
            <div id="footer2">
                <div id="bilder">
                    <div id="flexbox">
                        <div class="post">
                            <img src="wohnzimmer.png" alt="Wohnzimmer">
                            <div class="post-s">
                                <h2>Einbaumöbel</h2>
                            </div>
                        </div>
                        <div class="post1">
                            <img src="badezimmer.png" alt="Badezimmer">
                            <div class="post1-s">
                                <h2>Badmöbel</h2>
                            </div>
                        </div>
                        <div class="post2">    
                            <img src="einbauschränke.png" alt="Einbauschränke">
                            <div class="post2-s">
                                <h2>Einbauschränke</h2>
                            </div>
                        </div>
                    </div>
                    <div class="post3">
                        <img src="hochbett.png" alt="Hochbett">
                        <div class="post3-s">
                            <h2>Kinderhochbetten in Eichemassivholz</h2>
                        </div>
                    </div>
    
                    </div> 
                    
                </div>
                <a class="pfeil pfeil-links"><span>&#10094;</span></a>
                <a class="pfeil pfeil-rechts"><span>&#10095;</span></a>
            </div> 
        </div>

Css:

.slide{
    display: flex;
    border: solid black;
}
.pfeil {
    position: absolute;
    top: 0px;
    bottom: 0px;
    font-size: 50px;
    font-weight: bold;
    display: flex;
    align-items: center;
    
}
.pfeil-links {
    left: 0;
}
.pfeil-rechts {
    right: 0;
}

Bild zum Beitrag
Computer, HTML, programmieren, CSS, Programmiersprache, Webdesign

Javascript geht nicht in einem von XMLHttpRequest geladenen Div?

Hallo ich versuche gerade mit XMLHttpRequest einen Div auf meiner Webseite zu aktuallisieren soweit geht das auch nur wenn ich versuche in der datei die geladen werden soll etwas mit Javascript auszuführen wird dies nicht getan. Ich habe aber überprüft das die datei geladen wird. Das was ich in JS geschrieben habe wird auch in den Div geladen nur nicht ausgeführt..
Hier meine Datei die den Div läd:

  <script language="javascript" type="text/javascript">
    function getData() {
      var xhr = new XMLHttpRequest();                 // Create XMLHttpRequest object
    
      xhr.onload = function() {                       // When response has loaded
        // The following conditional check will not work locally - only on a server
        if(xhr.status === 200) {                       // If server status was ok
          document.getElementById('load').innerHTML = xhr.responseText; // Update
        }
      };
      
      xhr.open('GET', 'sql/load.php', true);        // Prepare the request
      xhr.send();                                 // Send the request
    }
    
    setInterval(getData, 1000);
</script>

<div id='load'></div> 

Hier meine Load.php

<?php
session_start();
require_once "config.php";
require_once "link_user.php";
        //Check new messages
        $test = "false";
        $sql = "SELECT * FROM msg WHERE touser='$user_name' AND readmsg='$test' LIMIT 1";
        $query = mysqli_query($db_link, $sql) or die (mysqli_error());
        $num = mysqli_num_rows($query);
        while ($row = mysqli_fetch_array($query)) {
            $chat_id = $row["chat_id"];

        }
        if($num == 1){
            
echo "<script>
var notification = new Notification('Notification title', {
    icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
    body: 'Hey there! You\'ve been notified!',
   });</script>
";
        }
?>
Computer, HTML, programmieren, JavaScript, PHP

Meistgelesene Beiträge zum Thema Programmieren