Witam Wszystkich!
Próbuję kilku rzeczy, jak je używać itd. i nastąpiłem na błąd który nie mogę w żaden sposób uniknąć. Nie wiem do końca w czym jest błąd, co może być zle napisane. Nie zwróciłem uwagi na nazwy zmiennych i tym podobne, ponieważ chodzi o same "testy". Sprawa ma (powinna wyglądać) tak, że po wyjściu z panelu panelu login znika on a pojawia się inny, próbowałem na różne sposoby ale zawsze mam taki błąd:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Okno.UIWindow.wyjdzZLoginDalej(UIWindow.java:401)
at Okno.UIWindow$3.actionPerformed(UIWindow.java:152)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
a tutaj kod
package Okno;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.FormSpecs;
import com.jgoodies.forms.layout.RowSpec;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Text;
import Logika.Logika1;
import javafx.scene.control.Slider;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.LayoutStyle.ComponentPlacement;
import java.awt.Font;
import java.awt.Image;
import javax.swing.JProgressBar;
import javax.swing.JList;
import javax.swing.JSlider;
import javax.swing.JButton;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import java.awt.Color;
import javax.swing.border.BevelBorder;
import java.awt.Cursor;
import java.awt.Rectangle;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.JPasswordField;
import java.awt.Label;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.JPopupMenu;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Scanner;
import java.awt.Dimension;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class UIWindow {
private JFrame frame;
private JTextField fieldPodajBrutto;
private JTextField fieldZUS;
private JTextField fieldSKARBOWKA;
private JTextField fieldNETTO;
private JPasswordField passwordField;
private JTextField textLoginSpace;
private JSlider slider;
private JLabel lblOdpSlider;
private JLabel lblFailLogin;
private JPanel panelLogin;
private JPanel panelBruttoNettoPodatki;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIWindow window = new UIWindow();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public UIWindow() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setBounds(100, 100, 450, 316);
frame.getContentPane().setLayout(new CardLayout(0, 0));
frame.setExtendedState(JFrame.MAXIMIZED_HORIZ);
frame.setVisible(true);
frame.setResizable(false);
JPanel panelLogin = new JPanel();
panelLogin.setVisible(true);
panelLogin.setBackground(new Color(255, 255, 255));
frame.getContentPane().add(panelLogin, "name_196173800546301");
panelLogin.setLayout(null);
passwordField = new JPasswordField();
passwordField.setBounds(265, 212, 99, 27);
panelLogin.add(passwordField);
textLoginSpace = new JTextField();
textLoginSpace.setBounds(92, 212, 99, 27);
panelLogin.add(textLoginSpace);
textLoginSpace.setColumns(10);
JLabel lblZalogujSi = new JLabel("ZALOGUJ");
lblZalogujSi.setFont(new Font("Papyrus", Font.PLAIN, 16));
lblZalogujSi.setForeground(Color.WHITE);
lblZalogujSi.setBounds(183, 149, 105, 37);
panelLogin.add(lblZalogujSi);
JLabel lblFailLogin = new JLabel("");
lblFailLogin.setFont(new Font("Papyrus", Font.BOLD | Font.ITALIC, 18));
lblFailLogin.setForeground(new Color(153, 0, 0));
lblFailLogin.setBounds(95, 28, 282, 107);
panelLogin.add(lblFailLogin);
JButton btnRedLog = new JButton("");
btnRedLog.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
btnRedLog.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
btnRedLog.setBorder(new SoftBevelBorder(BevelBorder.RAISED, Color.DARK_GRAY, Color.DARK_GRAY, Color.LIGHT_GRAY,
Color.LIGHT_GRAY));
btnRedLog.setIcon(new ImageIcon(
));
btnRedLog.setBounds(364, 185, 40, 81);
panelLogin.add(btnRedLog);
JButton btnBluLog = new JButton("");
btnBluLog.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
wyjdzZLoginDalej();
}
});
btnBluLog.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
btnBluLog.setAlignmentX(0.5f);
btnBluLog.setAlignmentY(0.0f);
btnBluLog.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, new Color(64, 64, 64), new Color(64, 64, 64),
Color.DARK_GRAY, new Color(192, 192, 192)));
btnBluLog.setIcon(new ImageIcon(
));
btnBluLog.setBounds(404, 185, 40, 81);
panelLogin.add(btnBluLog);
JLabel lblBackground = new JLabel("");
lblBackground.setIcon(new ImageIcon(
lblBackground.setBounds(0, 0, 444, 266);
panelLogin.add(lblBackground);
JPanel panelBruttoNettoPodatki = new JPanel();
panelBruttoNettoPodatki.setVisible(false);
panelBruttoNettoPodatki.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));
frame.getContentPane().add(panelBruttoNettoPodatki, "name_411413147098636");
JLabel lblNewLabel = new JLabel("Podaj kwote brutto");
lblNewLabel.setFont(new Font("Papyrus", Font.PLAIN, 15));
lblNewLabel.setBounds(29, 23, 132, 23);
fieldPodajBrutto = new JTextField();
fieldPodajBrutto.setBounds(29, 50, 132, 39);
fieldPodajBrutto.setColumns(10);
panelBruttoNettoPodatki.setLayout(null);
panelBruttoNettoPodatki.add(lblNewLabel);
panelBruttoNettoPodatki.add(fieldPodajBrutto);
JLabel lblZus = new JLabel("ZUS");
lblZus.setFont(new Font("Papyrus", Font.PLAIN, 15));
lblZus.setBounds(212, 66, 61, 23);
panelBruttoNettoPodatki.add(lblZus);
JLabel lblSkarbowka = new JLabel("SKARBOWKA");
lblSkarbowka.setFont(new Font("Papyrus", Font.PLAIN, 15));
lblSkarbowka.setBounds(184, 129, 132, 23);
panelBruttoNettoPodatki.add(lblSkarbowka);
JLabel lblNetto = new JLabel("NETTO");
lblNetto.setFont(new Font("Papyrus", Font.PLAIN, 15));
lblNetto.setBounds(206, 190, 85, 23);
panelBruttoNettoPodatki.add(lblNetto);
fieldZUS = new JTextField();
fieldZUS.setBounds(326, 61, 98, 33);
panelBruttoNettoPodatki.add(fieldZUS);
fieldZUS.setColumns(10);
fieldSKARBOWKA = new JTextField();
fieldSKARBOWKA.setColumns(10);
fieldSKARBOWKA.setBounds(326, 124, 98, 33);
panelBruttoNettoPodatki.add(fieldSKARBOWKA);
fieldNETTO = new JTextField();
fieldNETTO.setColumns(10);
fieldNETTO.setBounds(326, 185, 98, 33);
panelBruttoNettoPodatki.add(fieldNETTO);
JSlider slider = new JSlider();
slider.setPaintTrack(false);
slider.setForeground(new Color(255, 255, 255));
slider.setMajorTickSpacing(1);
slider.setPaintTicks(true);
slider.setMinimum(-2);
slider.setValue(0);
slider.setBackground(new Color(30, 144, 255));
slider.setName("");
slider.setFont(new Font("Papyrus", Font.PLAIN, 13));
slider.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
slider.setToolTipText("");
slider.setMaximum(2);
slider.setBounds(0, 174, 202, 44);
panelBruttoNettoPodatki.add(slider);
JLabel lblCoDalej = new JLabel("Co dalej?");
lblCoDalej.setFont(new Font("Papyrus", Font.PLAIN, 15));
lblCoDalej.setBounds(41, 146, 75, 23);
panelBruttoNettoPodatki.add(lblCoDalej);
JButton btnPolicz = new JButton("Policz!");
btnPolicz.setBounds(46, 100, 89, 23);
panelBruttoNettoPodatki.add(btnPolicz);
JButton btnPrzejdz = new JButton("Przejdz");
btnPrzejdz.setBackground(new Color(30, 144, 255));
btnPrzejdz.setFont(new Font("Papyrus", Font.BOLD | Font.ITALIC, 14));
btnPrzejdz.setForeground(new Color(30, 144, 255));
btnPrzejdz.setBounds(0, 215, 89, 51);
panelBruttoNettoPodatki.add(btnPrzejdz);
JLabel lblOdpSlider = new JLabel("");
lblOdpSlider.setOpaque(true);
lblOdpSlider.setHorizontalTextPosition(SwingConstants.CENTER);
lblOdpSlider.setAlignmentY(0.0f);
lblOdpSlider.setHorizontalAlignment(SwingConstants.CENTER);
lblOdpSlider.setBounds(new Rectangle(100, 100, 0, 0));
lblOdpSlider.setBorder(null);
lblOdpSlider.setForeground(new Color(255, 255, 255));
lblOdpSlider.setBackground(new Color(30, 144, 255));
lblOdpSlider.setFont(new Font("Papyrus", Font.PLAIN, 14));
lblOdpSlider.setBounds(89, 215, 113, 51);
panelBruttoNettoPodatki.add(lblOdpSlider);
JPanel panelKosztyMiesieczne = new JPanel();
panelKosztyMiesieczne.setVisible(false);
frame.getContentPane().add(panelKosztyMiesieczne, "name_411415613218628");
panelKosztyMiesieczne.setLayout(null);
JSlider slider_1 = new JSlider();
slider_1.setBounds(0, 172, 200, 44);
slider_1.setValue(0);
slider_1.setToolTipText("");
slider_1.setPaintTrack(false);
slider_1.setPaintTicks(true);
slider_1.setName("");
slider_1.setMinimum(-2);
slider_1.setMaximum(2);
slider_1.setMajorTickSpacing(1);
slider_1.setForeground(Color.WHITE);
slider_1.setFont(new Font("Papyrus", Font.PLAIN, 13));
slider_1.setBackground(new Color(30, 144, 255));
panelKosztyMiesieczne.add(slider_1);
JButton btnPrzejdz1 = new JButton("Przejdz");
btnPrzejdz1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
btnPrzejdz1.setForeground(new Color(30, 144, 255));
btnPrzejdz1.setFont(new Font("Papyrus", Font.BOLD | Font.ITALIC, 14));
btnPrzejdz1.setBackground(new Color(30, 144, 255));
btnPrzejdz1.setBounds(0, 215, 89, 51);
panelKosztyMiesieczne.add(btnPrzejdz1);
JLabel lblOdpSlider1 = new JLabel("");
lblOdpSlider1.setOpaque(true);
lblOdpSlider1.setHorizontalTextPosition(SwingConstants.CENTER);
lblOdpSlider1.setHorizontalAlignment(SwingConstants.CENTER);
lblOdpSlider1.setForeground(Color.WHITE);
lblOdpSlider1.setFont(new Font("Papyrus", Font.PLAIN, 14));
lblOdpSlider1.setBounds(new Rectangle(100, 100, 0, 0));
lblOdpSlider1.setBorder(null);
lblOdpSlider1.setBackground(new Color(30, 144, 255));
lblOdpSlider1.setAlignmentY(0.0f);
lblOdpSlider1.setBounds(87, 215, 113, 51);
panelKosztyMiesieczne.add(lblOdpSlider1);
JPanel panelZapisPoleManewru = new JPanel();
panelZapisPoleManewru.setVisible(false);
frame.getContentPane().add(panelZapisPoleManewru, "name_411418355057203");
panelZapisPoleManewru.setLayout(null);
JSlider slider_2 = new JSlider();
slider_2.setValue(0);
slider_2.setToolTipText("");
slider_2.setPaintTrack(false);
slider_2.setPaintTicks(true);
slider_2.setName("");
slider_2.setMinimum(-2);
slider_2.setMaximum(2);
slider_2.setMajorTickSpacing(1);
slider_2.setForeground(Color.WHITE);
slider_2.setFont(new Font("Papyrus", Font.PLAIN, 13));
slider_2.setBackground(new Color(30, 144, 255));
slider_2.setBounds(0, 172, 200, 44);
panelZapisPoleManewru.add(slider_2);
JButton btnPrzejdz2 = new JButton("Przejdz");
btnPrzejdz2.setForeground(new Color(30, 144, 255));
btnPrzejdz2.setFont(new Font("Papyrus", Font.BOLD | Font.ITALIC, 14));
btnPrzejdz2.setBackground(new Color(30, 144, 255));
btnPrzejdz2.setBounds(0, 215, 89, 51);
panelZapisPoleManewru.add(btnPrzejdz2);
JLabel btnPrzejdz3 = new JLabel("");
btnPrzejdz3.setOpaque(true);
btnPrzejdz3.setHorizontalTextPosition(SwingConstants.CENTER);
btnPrzejdz3.setHorizontalAlignment(SwingConstants.CENTER);
btnPrzejdz3.setForeground(Color.WHITE);
btnPrzejdz3.setFont(new Font("Papyrus", Font.PLAIN, 14));
btnPrzejdz3.setBounds(new Rectangle(100, 100, 0, 0));
btnPrzejdz3.setBorder(null);
btnPrzejdz3.setBackground(new Color(30, 144, 255));
btnPrzejdz3.setAlignmentY(0.0f);
btnPrzejdz3.setBounds(87, 215, 113, 51);
panelZapisPoleManewru.add(btnPrzejdz3);
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JMenu mnMenu = new JMenu("Menu");
menuBar.add(mnMenu);
JMenu mnZapisz = new JMenu("Zapisz");
mnMenu.add(mnZapisz);
JMenuItem mntmTxt = new JMenuItem("jako \"TXT\"");
mnZapisz.add(mntmTxt);
JMenuItem mntmCsv = new JMenuItem("jako \"CSV\"");
mnZapisz.add(mntmCsv);
JMenuItem mntmWyloguj = new JMenuItem("wyloguj");
mnZapisz.add(mntmWyloguj);
mntmWyloguj.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
public void gdzieDalej() {
if (slider.getValue() == 0) {
lblOdpSlider.setText("Przesuń suwak");
}
try {
String x = Logika1.Przejscie(slider.getValue());
lblOdpSlider.setText(x);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, e);
}
}
public boolean wyjdzZLoginDalej() {
try {
String x = String.valueOf(passwordField.getPassword());
String y = textLoginSpace.getText();
if (y.equals("admin") && x.equals("admin")) {
JOptionPane.showMessageDialog(null, "tak");
panelLogin.setVisible(false);
panelBruttoNettoPodatki.setVisible(true);
return true;
} else {
lblFailLogin.setText("Zle dane!");
}
} catch (NullPointerException e1) {
lblFailLogin.setText("" + e1);
}
return false;
}
}
Ma ktoś jakiś pomysl?