Anonymní profil Matrix17 – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Matrix17 – Programujte.comAnonymní profil Matrix17 – Programujte.com

 

Příspěvky odeslané z IP adresy 83.240.101.–

Matrix17
Java › GUI - HBox a VBox
7. 8. 2017   #217361

#1 Jirka853
Abych řekl pravdu vůbec nechápu o co se to snažíš. Ale z logiky věci to funguje naprosto správně. Možná spíš popiš čeho se snažíš dosáhnout. ;)

Matrix17
Java › javaFX: stage/scene
8. 9. 2016   #212629

#7 cheki
Tak ono hlavně je to spíš ztráta času, když tyhle věci můžeš udělat rychlejc. Jo asi se i něco naučíš ale já už to beru z trochu jinýho hlediska. :) Navíc právě fxml si myslím, že taky není k zahození se naučit...

Může to vypadat třeba takhle:

soubor LoginApp.java:

package fxlogin;

import javafx.application.Application;
import javafx.stage.Stage;

public class LoginApp extends Application
{
  public static void main(String[] args)
  {
    Application.launch(LoginApp.class, args);
  }

  @Override
  public void start(Stage mainWindow) throws Exception
  {
    new LoginWindow(mainWindow);
  }
}


soubor LoginWindow.java:

package fxlogin;

import javafx.geometry.Insets;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

/**
 * @author Milan Fašina
 *
 */
public class LoginWindow extends Stage
{
  private static final String PASSWORD_EXAMPLE = "ahoj";

  private final Stage mainWindow;

  public LoginWindow(Stage mainWindow)
  {
    this.mainWindow = mainWindow;

    setTitle("Přihlašovací okno");
    setScene(new Scene(getContent(), 300, 275));
    show();
  }

  private Parent getContent()
  {
    GridPane layout = new GridPane();
    layout.setPadding(new Insets(10,10,10,10));
    layout.setVgap(8);
    layout.setHgap(12);

    //Label - uzivatel
    Label lblUser = new Label();
    lblUser.setText("Username: ");
    layout.add(lblUser, 0,0);

    //Textfield uzivatel input
    TextField inputUser = new TextField();
    inputUser.setPromptText("User name");
    inputUser.setText("cheki");
    layout.add(inputUser,1,0);


    //Label - Password
    Label lblPass = new Label();
    lblPass.setText("Password: ");
    layout.add(lblPass, 0,1);


    Label lblmsg = new Label();
    layout.add(lblmsg, 1,3);

    PasswordField passField = new PasswordField();
    passField.setPromptText("password");
    layout.add(passField,1,1);


    //Button login
    Button btnLogin = new Button();
    btnLogin.setText("Log in");
    layout.add(btnLogin,1,2);

    btnLogin.setOnAction(e -> {
      System.out.println("button login clicked");
      if (passField.getText().equals(PASSWORD_EXAMPLE))
      {
        this.hide();

        mainWindow.setTitle("hlavní okno");
        mainWindow.setScene(new MainContent());
        mainWindow.show();
      }
      else
      {
        lblmsg.setText("Your password is incorrect!");
        lblmsg.setTextFill(Color.rgb(21, 117, 84));
        System.out.println("incorrect");
      }


    });
    //Button register
    Button btnRegister = new Button();
    btnRegister.setText("Reg me");
    layout.add(btnRegister,0,2);

    return layout;
  }
}


soubor MainContent.java:

package fxlogin;

import javafx.geometry.Insets;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;

/**
 * @author Milan Fašina
 *
 */
public class MainContent extends Scene
{
  public MainContent()
  {
    super(getContent());
  }

  private static Parent getContent()
  {
    GridPane layout = new GridPane();
    layout.setPadding(new Insets(10,10,10,10));
    layout.setVgap(8);
    layout.setHgap(12);

    Label lblUser = new Label();
    lblUser.setText("Vítej ó nejmocnější");
    layout.add(lblUser, 0,0);

    return layout;
  }
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý