Ich hab mein Programm jetzt nochmal hochgeladen… (also das richtige/nicht vereinfachte)
Wenn man im Login-Screen ist kann man auf dem Hintergrund rum klicken (das blaue Bild) und das Menu, welches man eigentlich erst später sehen sollte aktivieren. 
Die GUI-Klasse:
GUI-Klasse
[spoiler]```import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import javax.swing.JDesktopPane;
import javax.swing.JLayeredPane;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JTextPane;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.SwingConstants;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import java.awt.event.InputMethodListener;
import java.awt.event.InputMethodEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.FileNotFoundException;
import javax.swing.ImageIcon;
public class frame extends JFrame {
private static final long serialVersionUID = 1L;
private JLayeredPane contentPane;
private JTextField MoneyBar;
private JPanel MenuPanel;
private JTextField UsernameInput;
private JPasswordField PasswordInput;
private UserManagement UserManage;
private JDesktopPane LoginScreenPanel;
private JPanel LeisteUnten;
private JPanel AccountLoginPanel;
private management manage;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
frame frame = new frame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public frame() {
setIconImage(Toolkit.getDefaultToolkit().getImage(
".//res//Connecticon.png"));
contentPane = new JLayeredPane();
JMenuBar menuBar = new JMenuBar();
menuBar.setForeground(Color.WHITE);
menuBar.setBackground(new Color(255, 255, 255));
JMenu mnFile = new JMenu("File");
JMenu mnHelp = new JMenu("Help");
LeisteUnten = new JPanel();
JTextPane TextPaneMoney = new JTextPane();
TextPaneMoney.setEditable(false);
TextPaneMoney.setBounds(850, 5, 40, 20);
MoneyBar = new JTextField();
MoneyBar.addInputMethodListener(new InputMethodListener() {
public void inputMethodTextChanged(InputMethodEvent arg0) {
}
@Override
public void caretPositionChanged(InputMethodEvent event) {
}
});
MoneyBar.setBounds(900, 5, 90, 20);
MoneyBar.setEditable(false);
JMenuItem debugitem = new JMenuItem("debug");
///setUndecorated(true);
setTitle("Connecticon");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(1006, 579);
setResizable(false);
setVisible(true);
setLocationRelativeTo(null);
contentPane.setBackground(Color.WHITE);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setOpaque(true);
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel Test = new JPanel();
Test.setBackground(Color.ORANGE);
Test.setBounds(0, 0, 1000, 500);
contentPane.add(Test, Integer.valueOf(1));
JPanel panel = new JPanel();
panel.setBackground(Color.GREEN);
panel.setVisible(true);
panel.setBounds(0, 0, 1000, 500);
contentPane.add(panel, Integer.valueOf(1));
LeisteUnten.setBackground(new Color(128, 128, 128));
LeisteUnten.setBounds(0, 500, 1000, 30);
contentPane.add(LeisteUnten, Integer.valueOf(1));
LeisteUnten.setLayout(null);
TextPaneMoney.setBackground(SystemColor.activeCaption);
TextPaneMoney.setText("Money");
LeisteUnten.add(TextPaneMoney);
MoneyBar.setHorizontalAlignment(SwingConstants.RIGHT);
MoneyBar.setText("10.584");
LeisteUnten.add(MoneyBar);
MoneyBar.setColumns(10);
JButton MenuButton = new JButton("Menu");
MenuButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
onTop2(MenuPanel, LeisteUnten);
}
});
MenuButton.setBounds(10, 5, 100, 20);
LeisteUnten.add(MenuButton);
MenuPanel = new JPanel();
MenuPanel.setBackground(SystemColor.control);
MenuPanel.setBounds(0, 0, 1000, 500);
MenuPanel.setLayout(null);
contentPane.add(MenuPanel, Integer.valueOf(1));
JTextArea DebugMonitor = new JTextArea();
DebugMonitor.setBounds(1000, 0, 220, 530);
contentPane.add(DebugMonitor);
DebugMonitor.setText("erste Zeile
zweite Zeile");
DebugMonitor.setBackground(Color.LIGHT_GRAY);
DebugMonitor.setFont(new Font(„Century Gothic“, Font.PLAIN, 13));
DebugMonitor.setEditable(false);
contentPane.setLayer(LeisteUnten, 1);
setJMenuBar(menuBar);
menuBar.add(mnFile);
menuBar.add(mnHelp);
mnHelp.add(debugitem);
debugitem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent pressed) {
if (getWidth() == 1000) {
setSize(1226, 629);
} else {
setSize(1006, 629);
}
}
});
createloginScreen();
setupMenu("Management", panel, "/images/menuicons/management.png");
setupMenu("Vehicles", Test, "/images/menuicons/vihicles.png");
setupMenu("Map", panel, "/images/menuicons/map.png");
setupMenu("Locations", panel, "/images/menuicons/locations.png");
setupMenu("Deals", panel, "/images/menuicons/deals.png");
setupMenu("Financials", panel, "/images/menuicons/financials.png");
setupMenu("xxx", panel, "/images/menuicons/xxx.png");
setupMenu("Shop", panel, "/images/menuicons/shop");
setupMenu("Statistics", panel, "/images/menuicons/stats.png");
setupMenu("Settings", panel, "/images/menuicons/settings");
}
private void setupMenu(String Text, final JPanel PointingAt,
String ImagePath) {
int y = (int) 52.5;
int x = 0;
try {
x = MenuPanel.getComponentCount();
} catch (NullPointerException npe) {
// nothing
}
while (x > 4) {
x = x - 5;
y = (int) (y + 227.5);
}
JPanel MenuItem = new JPanel();
MenuItem.setBounds((50 + 200 * x), y, 100, 150);
MenuItem.setLayout(null);
MenuItem.setBackground(MenuPanel.getBackground());
MenuPanel.add(MenuItem, Integer.valueOf(2));
final MenuItems MenuImage = new MenuItems(PointingAt);
MenuImage.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
onTop(PointingAt);
}
});
MenuImage.setBounds(0, 0, 100, 100);
try {
MenuImage.setIcon(new ImageIcon(getClass().getResource(ImagePath)));
} catch (NullPointerException e) {
MenuImage.setIcon(new ImageIcon(getClass().getResource(
"/images/menuicons/Placeholder.png")));
}
MenuItem.add(MenuImage);
JLabel MenuItemLabel = new JLabel(Text);
MenuItemLabel.setHorizontalAlignment(SwingConstants.CENTER);
MenuItemLabel.setBounds(0, 110, 100, 15);
MenuItem.add(MenuItemLabel);
}
private void createloginScreen() {
UserManage = new UserManagement();
final JButton LoginBtn = new JButton("Log in");
LoginScreenPanel = new JDesktopPane();
LoginScreenPanel.setBounds(0, 0, 1000, 530);
LoginScreenPanel.setLayout(null);
LoginScreenPanel.setBackground(SystemColor.controlHighlight);
LoginScreenPanel.setVisible(true);
LoginScreenPanel.setOpaque(true);
contentPane.add(LoginScreenPanel, Integer.valueOf(1));
contentPane.setLayer(LoginScreenPanel, 10);
contentPane.moveToFront(LoginScreenPanel);
AccountLoginPanel = new JPanel();
AccountLoginPanel.setBounds(180, 280, 300, 200);
AccountLoginPanel.setLayout(null);
AccountLoginPanel.setBackground(new Color(255, 255, 255, 50));
AccountLoginPanel.setBorder(new LineBorder(
new Color(255, 255, 255, 80), 2));
LoginScreenPanel.add(AccountLoginPanel);
JLabel wallpaper = new JLabel();
wallpaper.setIcon(new ImageIcon(getClass().getResource(
"/images/wallpaper.png")));
wallpaper.setBounds(0, 0, 1000, 530);
LoginScreenPanel.add(wallpaper);
UsernameInput = new JTextField();
UsernameInput.addKeyListener(new KeyAdapter() {
/**
* kann bei vielen Benutzern zu starken laggs führen
*
* @Override public void keyReleased(KeyEvent e) { if
* (UserManage.isUsername(UsernameInput.getText())) {
* LoginBtn.setText("Log in"); } else {
* LoginBtn.setText("Sign up"); } }
*/
@Override
public void keyPressed(KeyEvent enterpressed) {
int key = enterpressed.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
login();
}
}
});
UsernameInput.setHorizontalAlignment(SwingConstants.LEFT);
UsernameInput.setBounds(50, 54, 200, 25);
AccountLoginPanel.add(UsernameInput);
UsernameInput.setColumns(10);
PasswordInput = new JPasswordField();
PasswordInput.setHorizontalAlignment(SwingConstants.LEFT);
PasswordInput.setBounds(50, 104, 200, 25);
PasswordInput.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent enterpressed) {
int key = enterpressed.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
login();
}
}
});
AccountLoginPanel.add(PasswordInput);
UserManage = new UserManagement();
LoginBtn.setFont(new Font("Tahoma", Font.BOLD, 11));
LoginBtn.setForeground(Color.BLACK);
LoginBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
login();
}
});
LoginBtn.setBounds(170, 137, 80, 25);
AccountLoginPanel.add(LoginBtn);
JLabel lblUsername = new JLabel("Username");
lblUsername.setBounds(52, 39, 198, 14);
AccountLoginPanel.add(lblUsername);
JLabel lblPassword = new JLabel("Password");
lblPassword.setBounds(52, 90, 198, 14);
AccountLoginPanel.add(lblPassword);
onTop(AccountLoginPanel);
}
private void createNewUserPanel(String Username) {
JPanel NewUserPanel = new JPanel();
NewUserPanel.setBounds(0, 0, 1000, 530);
NewUserPanel.setBackground(new Color(255, 255, 255, 50));
contentPane.add(NewUserPanel);
contentPane.setLayer(NewUserPanel, JLayeredPane.MODAL_LAYER);
}
private void login() {
String Password = "";
for (char x : PasswordInput.getPassword()) {
Password = Password + x;
}
if (UserManage.isUsername(UsernameInput.getText())) {
if (UserManage.isUser(UsernameInput.getText(), Password)) {
onTop2(MenuPanel, LeisteUnten);
contentPane.setLayer(AccountLoginPanel,
JLayeredPane.DEFAULT_LAYER);
} else {
JOptionPane.showMessageDialog(null,
"Username or password doesnt fit !", "Error Message",
JOptionPane.PLAIN_MESSAGE);
}
} else {
createNewUserPanel(UsernameInput.getText());
}
}
private void onTop(Component onTopC) {
for (Component x : contentPane.getComponents()) {
contentPane.setLayer(x, JLayeredPane.DEFAULT_LAYER);
}
contentPane.setLayer(onTopC, JLayeredPane.PALETTE_LAYER);
}
/**
* Funktioniert nicht o.O
*
* private void onTopmultiple(JPanel onTopCList) { for (Component x :
* contentPane.getComponents()) { contentPane.setLayer(x,
* JLayeredPane.DEFAULT_LAYER); }
*
* for (Component z : onTopCList.getComponents()) { contentPane.setLayer(z,
* JLayeredPane.PALETTE_LAYER); } }
*/
private void onTop2(Component onTopC, Component onTopC2) {
for (Component x : contentPane.getComponents()) {
contentPane.setLayer(x, JLayeredPane.DEFAULT_LAYER);
}
contentPane.setLayer(onTopC, JLayeredPane.PALETTE_LAYER);
contentPane.setLayer(onTopC2, JLayeredPane.PALETTE_LAYER);
}
public void DisplayMoney(int money) {
MoneyBar.setText(money + "");
if (money == 0) {
MoneyBar.setForeground(Color.BLACK);
}
if (money > 0) {
MoneyBar.setForeground(Color.GREEN);
}
if (money < 0) {
MoneyBar.setForeground(Color.RED);
}
}
public void createShop() {
}
}
Downloads
[RunableJar](http://www.file-upload.net/download-7992319/HaveANiceDay-s-Programm.jar.html)
[EclipseOrdner](http://www.file-upload.net/download-7992419/HaveANiceDaysProgrammEclipseOrdner.rar.html)