Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.jana.gui;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- public class MainWindow extends JFrame {
- private static final long serialVersionUID = 1L;
- // UI components
- private Container controls; // hlavny Container kde budes vkladas vsetko (nadpisy, tlacitka atď...)
- private JLabel title;
- private JMenuBar menubar;
- private JMenu login;
- private JMenuItem login_item;
- public MainWindow() {
- super("Add here your title");
- this.setSize(640, 480); // nadstavujes velkost okna
- this.setResizable(false); // ak to mas na true, mozes menit velkost okna tahanim mysou, inak nie
- centerWindow(); // vycentruje to na stred monitoru
- initMenu();
- init();
- }
- private void init() {
- controls = getContentPane(); // vrati Container okna
- controls.setLayout(new FlowLayout()); // nadstavis layout containera
- title = new JLabel("Lorem ipsum dolor sit amet");
- controls.add(title);
- }
- private void centerWindow() {
- Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
- this.setLocation(d.width / 4, d.height / 6);
- }
- private void initMenu() {
- menubar = new JMenuBar();
- this.setJMenuBar(menubar);
- login = new JMenu("System");
- menubar.add(login);
- login_item = new JMenuItem("Login");
- login.add(login_item);
- login_item.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- LoginDialog d = new LoginDialog(MainWindow.this);
- d.setVisible(true);
- }
- });
- }
- }
- package com.jana.gui;
- import java.awt.Container;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Insets;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JDialog;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JTextField;
- import javax.swing.SwingConstants;
- public class LoginDialog extends JDialog {
- private static final long serialVersionUID = 1L;
- private MainWindow parent;
- private Container controls;
- private JTextField login, password;
- private JLabel loginLabel, passwordLabel;
- private JButton loginBtn;
- public LoginDialog(MainWindow parent) {
- super(parent, "Login into System");
- this.parent = parent;
- this.setSize(350, 180);
- this.setResizable(false);
- this.setLocationRelativeTo(parent);
- init();
- }
- private void init() {
- controls = getContentPane();
- controls.setLayout(new GridBagLayout());
- GridBagConstraints c = new GridBagConstraints();
- c.gridx = 0;
- c.gridy = 0;
- loginLabel = new JLabel("Login:");
- loginLabel.setAlignmentX(SwingConstants.RIGHT);
- controls.add(loginLabel, c);
- c.gridx = 1;
- c.gridy = 0;
- c.insets = new Insets(0, 0, 5, 0);
- login = new JTextField(15);
- login.setText("admin");
- login.setEnabled(false);
- controls.add(login, c);
- c.gridx = 0;
- c.gridy = 1;
- passwordLabel = new JLabel("Password:");
- controls.add(passwordLabel, c);
- c.gridx = 1;
- c.gridy = 1;
- password = new JTextField(15);
- controls.add(password, c);
- c.gridx = 0;
- c.gridy = 2;
- c.fill = GridBagConstraints.VERTICAL;
- loginBtn = new JButton("Login");
- controls.add(loginBtn, c);
- loginBtn.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- if (password.getText().length() > 0) {
- String pass = password.getText();
- if (pass.equals("admin")) {
- close();
- Toolkit.getDefaultToolkit().beep(); // zvuk
- JOptionPane.showMessageDialog(parent, "You are successfully logged in!", "Information", JOptionPane.INFORMATION_MESSAGE);
- }
- else {
- Toolkit.getDefaultToolkit().beep();
- JOptionPane.showMessageDialog(parent, "Invalid password! Try it again.", "Error", JOptionPane.ERROR_MESSAGE);
- }
- }
- else {
- Toolkit.getDefaultToolkit().beep();
- JOptionPane.showMessageDialog(parent, "Password field cannot be empty!", "Warning", JOptionPane.WARNING_MESSAGE);
- }
- }
- });
- }
- private void close() {
- this.dispose();
- }
- }
- package com.jana.launcher;
- import javax.swing.SwingUtilities;
- import com.jana.gui.MainWindow;
- public class Main {
- public static void main(String[] args) {
- SwingUtilities.invokeLater(new Runnable() { // GUI je odporucane spustat vo vlakne
- @Override
- public void run() {
- MainWindow mw = new MainWindow();
- mw.setVisible(true);
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment