NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: javafx kreslenie a prepojenie tried

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Lukas Cajka
Člen
Avatar
Lukas Cajka:3.3.2017 0:20

Zdravim
vedel by mi niekto poradit v Scene Builderi som si vytvoril ako ma okno vypadat. Jeden z komponentov je Pane na ktory chcem vykreslit binarny strom. Dalej som si vytvoril triedu Painterr ,ktora dedi Pane, a bude to vykreslovat na ten Pane a tiez s nakreslenymi objektmi budem moct hybat, menit farby ale nijako neviem prepojit tieto dve triedy, alebo poradit nejake riesenie ako to spravit

public class FXMLPlatno implements Initializable{

    @FXML
    private Button btn1;
    @FXML
    private Pane platno;
    @FXML
    private Button btn2;
    @FXML
    private Label labelik;

    public FXMLPlatno() {
        System.out.println("toto ASI nevyuzivam ");
    }


    @Override
    public void initialize(URL location, ResourceBundle resources) {
        System.out.println("VYPIS TEXT");

        platno = new Painterr();
        //platno.kresli();

    }

FXML

<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="646.0" prefWidth="890.0" spacing="20.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
        fx:controller="GUI.FXMLPlatno">
   <children>
      <Pane fx:id="platno" prefHeight="646.0" prefWidth="682.0" />
      <VBox prefHeight="646.0" prefWidth="194.0" spacing="20.0">
         <padding>
            <Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
         </padding>
         <children>
            <Button fx:id="btn1" mnemonicParsing="false" prefHeight="32.0" prefWidth="91.0" text="Button" onAction="#handleButtonClick" />
            <ColorPicker prefHeight="33.0" prefWidth="88.0" />
            <Button fx:id="btn2" mnemonicParsing="false" prefHeight="32.0" prefWidth="98.0" text="Button" />
            <Label fx:id="labelik" prefHeight="36.0" prefWidth="75.0" text="Keby bolo keby" />
         </children>
      </VBox>
   </children>
   <padding>
      <Insets bottom="30.0" left="30.0" right="30.0" top="30.0" />
   </padding>
</HBox>

trieda na kreslenie

public class Painterr extends Pane {

    private Canvas canvas = new Canvas();
    private Stage stage;

    public Painterr() {
        getChildren().add(canvas);
    }

    public void kresli(){
        Rectangle rect = new Rectangle();
        rect.setFill(Color.SALMON);
        rect.setX(200);
        rect.setY(50);
        rect.setWidth(100);
        rect.setHeight(100);
    }

}

dal by som tu aj uvodny frame ale ten mi tu uz nevosiel

 
Odpovědět
3.3.2017 0:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.