Hallo liebe Forum User ,
Ich habe ein Problem mit einem Programm/Spiel, und zwar wird ein GUI erstellt, allerdings wird eine void methode mit einer switch methode... umgangen, die das GUI dazu bringen soll bestimmte JLabels, die ich mit einem Bild bestückt habe , Visible bzw. wieder nicht Visible zu machen.
Hier die main:
Und hier das GUI:
Ich bräuchte eine gute Lösung, bin schon am Verzweifeln TT
Danke schon mal im Vorraus
PS: Fragt bitte nicht was das Programm für einen Sinn hat, es soll zur Übung dienen und mir später vielleicht als Vorlage ;D, danke
Ich habe ein Problem mit einem Programm/Spiel, und zwar wird ein GUI erstellt, allerdings wird eine void methode mit einer switch methode... umgangen, die das GUI dazu bringen soll bestimmte JLabels, die ich mit einem Bild bestückt habe , Visible bzw. wieder nicht Visible zu machen.
Hier die main:
Code:
package fischen.toyer.main;
import java.awt.EventQueue;
import fischen.toyer.gui.*;
public class Fischen {
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GUI frame = new GUI();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
Und hier das GUI:
Code:
package fischen.toyer.gui;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.ImageIcon;
public class GUI extends JFrame implements MouseListener{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Passwort und Username in mysql datenbank
*/
private String scorestr;
private int spawn = 10;
private int score=0;
private JPanel contentPane;
private JTextField textField;
private JTextField textField_2;
private JPasswordField passwordField;
private JTextField txtRpScore;
private JTextField textField_1;
private JTextField txtScoreX;
private JLabel lblNewLabel;
private JLabel lblTeich;
private JLabel lblFisch;
private JLabel Fisch2;
private JLabel lblNewLabel_1;
private JLabel lblNewLabel_2;
private JLabel lblFisch_1;
//BufferedImage pic;
public GUI() {
/*URL pic_url = this.getClass().getClassLoader().getResource("pic/images.jpg"); //kein Slash vor dem Unterordner!
//Bild laden mit ImageIO
try {
pic = ImageIO.read(pic_url);
} catch (IOException e) {
e.printStackTrace();
}*/
setTitle("FishingFun");
setResizable(true);
setForeground(Color.WHITE);
setFont(new Font("Dialog", Font.BOLD, 12));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setForeground(new Color(0, 0, 0));
contentPane.setBackground(Color.WHITE);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
contentPane.requestFocus();
JLabel lblScore = new JLabel("Score:\r\n\r\n");
lblScore.setHorizontalAlignment(SwingConstants.CENTER);
lblScore.setFont(new Font("Tahoma", Font.BOLD, 22));
lblScore.setBounds(337, 25, 87, 27);
contentPane.add(lblScore);
textField = new JTextField();
textField.setToolTipText("");
textField.setBounds(186, 11, 86, 20);
contentPane.add(textField);
textField.setColumns(10);
JLabel lblUsername = new JLabel("Username");
lblUsername.setBounds(115, 14, 61, 14);
contentPane.add(lblUsername);
JLabel lblPassword = new JLabel("Password");
lblPassword.setBounds(115, 36, 61, 14);
contentPane.add(lblPassword);
textField_2 = new JTextField();
textField_2.setEditable(false);
textField_2.setText(String.valueOf(score));
textField_2.setHorizontalAlignment(SwingConstants.CENTER);
textField_2.setFont(new Font("Tahoma", Font.BOLD, 60));
textField_2.setBounds(337, 63, 87, 79);
contentPane.add(textField_2);
textField_2.setColumns(10);
passwordField = new JPasswordField();
passwordField.setBounds(186, 33, 86, 20);
contentPane.add(passwordField);
txtRpScore = new JTextField();
txtRpScore.setFont(new Font("Tahoma", Font.PLAIN, 24));
txtRpScore.setHorizontalAlignment(SwingConstants.CENTER);
txtRpScore.setEditable(false);
txtRpScore.setText("RP");
txtRpScore.setBounds(337, 171, 87, 27);
contentPane.add(txtRpScore);
txtRpScore.setColumns(10);
textField_1 = new JTextField();
textField_1.setText("=");
textField_1.setHorizontalAlignment(SwingConstants.CENTER);
textField_1.setFont(new Font("Tahoma", Font.PLAIN, 24));
textField_1.setEditable(false);
textField_1.setColumns(10);
textField_1.setBounds(337, 197, 87, 27);
contentPane.add(textField_1);
txtScoreX = new JTextField();
txtScoreX.setText("score x 10");
txtScoreX.setHorizontalAlignment(SwingConstants.CENTER);
txtScoreX.setFont(new Font("Tahoma", Font.PLAIN, 17));
txtScoreX.setEditable(false);
txtScoreX.setColumns(10);
txtScoreX.setBounds(337, 223, 87, 27);
contentPane.add(txtScoreX);
lblNewLabel = new JLabel("New label");
lblNewLabel.setIcon(new ImageIcon("C:\\Users\\User\\Desktop\\Dev\\Fischen\\pic\\images.png"));
lblNewLabel.setBounds(105, -33, 236, 212);
contentPane.add(lblNewLabel);
lblFisch = new JLabel("Fisch1");
lblFisch.setVisible(false);
lblFisch.setIcon(new ImageIcon("C:\\Users\\User\\Desktop\\Dev\\Fischen\\pic\\index.png"));
lblFisch.setBounds(30, 171, 100, 100);
contentPane.add(lblFisch);
Fisch2 = new JLabel("Fisch2");
Fisch2.setVisible(false);
Fisch2.setIcon(new ImageIcon("C:\\Users\\User\\Desktop\\Dev\\Fischen\\pic\\index.png"));
Fisch2.setBounds(145, 83, 100, 100);
contentPane.add(Fisch2);
lblNewLabel_1 = new JLabel("Fisch3");
lblNewLabel_1.setVisible(false);
lblNewLabel_1.setIcon(new ImageIcon("C:\\Users\\User\\Desktop\\Dev\\Fischen\\pic\\index2.png"));
lblNewLabel_1.setBounds(166, 197, 100, 100);
contentPane.add(lblNewLabel_1);
lblNewLabel_2 = new JLabel("Fisch4");
lblNewLabel_2.setVisible(false);
lblNewLabel_2.setIcon(new ImageIcon("C:\\Users\\User\\Desktop\\Dev\\Fischen\\pic\\index2.png"));
lblNewLabel_2.setBounds(56, 122, 100, 100);
contentPane.add(lblNewLabel_2);
lblFisch_1 = new JLabel("Fisch5");
lblFisch_1.setVisible(false);
lblFisch_1.setIcon(new ImageIcon("C:\\Users\\User\\Desktop\\Dev\\Fischen\\pic\\index2.png"));
lblFisch_1.setBounds(201, 150, 100, 100);
contentPane.add(lblFisch_1);
lblTeich = new JLabel("teich");
lblTeich.setIcon(new ImageIcon("C:\\Users\\User\\Desktop\\Dev\\Fischen\\pic\\Unbenannt.png"));
lblTeich.setBounds(0, 83, 434, 178);
contentPane.add(lblTeich);
}
public void SpawnManager(){
/*
* Abfrage machen, ob jmd. auf den Fisch klickt
*/
switch (spawn) {
case 0:
lblFisch.setVisible(true);
lblFisch.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(lblFisch.isVisible()){
spawn = 2;
++score;
scorestr = String.valueOf(score);
textField_2.setText(scorestr);
lblFisch.setVisible(false);
}
}
});
break;
case 1:
Fisch2.setVisible(true);
Fisch2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(Fisch2.isVisible()){
spawn = 3;
++score;
scorestr = String.valueOf(score);
textField_2.setText(scorestr);
Fisch2.setVisible(false);
}
}
});
break;
case 2:
lblNewLabel_1.setVisible(true);
lblNewLabel_1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(lblNewLabel_1.isVisible()){
spawn = 4;
++score;
scorestr = String.valueOf(score);
textField_2.setText(scorestr);
lblNewLabel_1.setVisible(false);
}
}
});
break;
case 3:
lblNewLabel_2.setVisible(true);
lblNewLabel_2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(lblNewLabel_2.isVisible()){
spawn = 0;
++score;
scorestr = String.valueOf(score);
textField_2.setText(scorestr);
lblNewLabel_2.setVisible(false);
}
}
});
break;
case 4:
lblFisch_1.setVisible(true);
lblFisch_1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(lblFisch_1.isVisible()){
spawn = 1;
++score;
scorestr = String.valueOf(score);
textField_2.setText(scorestr);
lblFisch_1.setVisible(false);
}
}
});
break;
case 10:
textField_2.setText("G");
break;
}
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
Ich bräuchte eine gute Lösung, bin schon am Verzweifeln TT
Danke schon mal im Vorraus
PS: Fragt bitte nicht was das Programm für einen Sinn hat, es soll zur Übung dienen und mir später vielleicht als Vorlage ;D, danke