Wątek przeniesiony 2016-04-05 18:03 z Java przez ŁF.

Proszę o pomoc w pisaniu kodu.

0

Dzień dobry!

Po kilku dniach nauki Javy, postanowiłem stworzyć prosty program. Miał on pozwalać na stworzenie konta, na którym przechowywane by były wiadomości. Login definiowałby jakie wiadomości mają zostać pokazane po wpisaniu go, a hasło pełniłoby funkcję zabezpieczenia. Udało mi się napisać cały interfejs użytkownika, podzielony na dwa okna (jedno do odczytywania wiadomości, a drugie do ich zapisywania). Problem pojawił się w momencie, gdy zacząłem próbować zaimplementować mechanikę, która by na taką operację zezwalała. Mam kilka suchych pomysłów na rozwiązanie problemu, ale przekraczają one moje umiejętności. Proszę o pomoc!

P.S. Korzystam z programy Eclipse. Proszę raczej o wytłumaczeniem niż o wklejenie gotowca (choć pewnie bez tego się nie obejdzie). Wklejam tutaj kod:


package konto;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

class Szyfrator extends JFrame implements ActionListener{
	
private PanelHasła panelHasła;	 
private	JButton bOdszyfruj, bKonto;	
private	JTextField login, hasło;
private	JLabel llogin, lhasło, wiad;
	
		
	
	public Szyfrator(){
		setSize(300,200);
		setTitle("Szyfrator");
		
		bOdszyfruj = new JButton("ODSZYFRUJ");
		setLayout(null);
		bOdszyfruj.setBounds(25, 130, 100, 20);
		add(bOdszyfruj);
		bOdszyfruj.addActionListener(this);
		
		bKonto = new JButton("Stwórz");
		setLayout(null);
		bKonto.setBounds(155, 130, 100, 20);
		add(bKonto);
		bKonto.addActionListener(this);
		
		login = new JTextField("");
		login.setBounds(70, 25, 150, 20);
		add(login);
		
		hasło = new JTextField("");
		hasło.setBounds(70, 65, 150, 20);
		add(hasło);
		
		llogin = new JLabel("login:");
		llogin.setBounds(25, 23, 150, 20);
		add(llogin);
		
		lhasło = new JLabel("hasło:");
		lhasło.setBounds(25, 63, 150, 20);
		add(lhasło);
		
		wiad = new JLabel("wiad:");
		wiad.setBounds(25, 103, 150, 20);
		add(wiad);
	}
	public static void main(String[] args) {
		Szyfrator okienko = new Szyfrator();
		okienko.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		okienko.setVisible(true);
		
	}
	@Override
	public void actionPerformed(ActionEvent e) 
	{
		Object źródło = e.getSource();
		if (źródło==bKonto)
		{
			if(panelHasła==null){
				panelHasła = new PanelHasła(this);
			}
			panelHasła.setVisible(true);
		}
		else if(źródło==bOdszyfruj)
		{
		// sprawdzenie Danych if true = pokaż inf
		}
			
	}
	
}
class PanelHasła extends JDialog implements ActionListener {
	private	JButton bOk, bAnuluj;	
	private	JTextField login, hasło, wiadomość;
	private	JLabel llogin, lhasło, lwiad;	
	
	public PanelHasła(JFrame owner){
		super(owner, "wprowadzania hasła", true);
		setSize(300,200);
		setLayout(null);
		
		bOk = new JButton("OK");
		bOk.setBounds(25, 130, 100, 20);
		add(bOk);
		bOk.addActionListener(this);
		
		bAnuluj = new JButton("Anuluj");
		bAnuluj.setBounds(155, 130, 100, 20);
		add(bAnuluj);
		bAnuluj.addActionListener(this);
		
		login = new JTextField("");
		login.setBounds(70, 10, 150, 20);
		add(login);
		
		
		hasło = new JTextField("");
		hasło.setBounds(70, 50, 150, 20);
		add(hasło);
		
		wiadomość = new JTextField("");
		wiadomość.setBounds(70, 90, 150, 20);
		add(wiadomość);
		
		llogin = new JLabel("login:");
		llogin.setBounds(25, 8, 150, 20);
		add(llogin);
		
		lhasło = new JLabel("hasło:");
		lhasło.setBounds(25, 48, 150, 20);
		add(lhasło);
		
		lwiad = new JLabel("wiad:");
		lwiad.setBounds(25, 88, 150, 20);
		add(lwiad);
		
	}
	
	
	public void actionPerformed(ActionEvent e) {
		Object źródło = e.getSource();
		if(źródło==bOk){
			
		}
		else if(źródło==bAnuluj){
			
		}
		setVisible(false);
	}
	
}

0
  1. Nie używaj polskich znaków w nazwach zmiennych.
  2. Zapisuj dane do jakiegoś XML'a

1 użytkowników online, w tym zalogowanych: 0, gości: 1