Résolu J'ai un soucis avec éclipse

Statut
N'est pas ouverte pour d'autres réponses.

DarkEffect

Membre
Inscription
24 Septembre 2017
Messages
1
Réactions
0
Points
21
Bonjour j'ai besoin d'aide dans le domaine java car voulant crée un launcher minecraft (je ne suis pas un kikoo) je crée mes package et tout je bordel et quand je veux testé mon code eclipse me dit

Exception in thread "main" java.lang.NullPointerException
at fr.theshark34.openlauncherlib.launcher.util.UsernameSaver.<init>(UsernameSaver.java:66)
at fr.KoaLife.KoaLifeLauncher.LauncherPanel.<init>(LauncherPanel.java:17)
at fr.KoaLife.KoaLifeLauncher.LauncherFrame.<init>(LauncherFrame.java:22)
at fr.KoaLife.KoaLifeLauncher.LauncherFrame.main(LauncherFrame.java:36)


donc je vous donne le code des fichiers
PS je possède toute les libraires externe nécessaire

LAUNCHER PANEL

package fr.KoaLife.KoaLifeLauncher;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JPanel;
import javax.swing.JTextField;

import fr.theshark34.openlauncherlib.launcher.util.UsernameSaver;
import fr.theshark34.swinger.Swinger;

@SuppressWarnings("serial")
public class LauncherPanel extends JPanel {

private Image background = Swinger.getResource("background.png");

private UsernameSaver saver = new UsernameSaver(Launcher.kl_INFOS);

private JTextField usernameField = new JTextField(saver.getUsername(""));

public LauncherPanel() {
this.setLayout(null);

usernameField.setBounds(271, 205, 231, 642);
this.add(usernameField);
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);

g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
}

}

LAUNCHER FRAME

package fr.KoaLife.KoaLifeLauncher;

import javax.swing.JFrame;
import javax.swing.UIManager;

import fr.theshark34.swinger.Swinger;
import fr.theshark34.swinger.util.WindowMover;

@SuppressWarnings({ "serial", "unused" })
public class LauncherFrame extends JFrame {

private static LauncherFrame instance;
private LauncherPanel launcherPanel;

public LauncherFrame() {
this.setTitle("KoaLife");
this.setSize(900, 500);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setUndecorated(true);
this.setIconImage(Swinger.getResource("icon.png"));
this.setContentPane(launcherPanel = new LauncherPanel());

WindowMover mover = new WindowMover(this);
this.addMouseListener(mover);
this.addMouseMotionListener(mover);

this.setVisible(true);

}

public static void main(String[] args) {
Swinger.setSystemLookNFeel();
Swinger.setResourcePath("/fr/KoaLife/KoaLifeLauncher/resources/");

instance = new LauncherFrame();
}

public static LauncherFrame getInstance() {
return instance;
}

public LauncherPanel getLauncherPanel() {
return this.launcherPanel;
}
}

LAUNCHER

package fr.KoaLife.KoaLifeLauncher;

import java.io.File;

import fr.theshark34.openlauncherlib.launcher.GameInfos;
import fr.theshark34.openlauncherlib.launcher.GameType;
import fr.theshark34.openlauncherlib.launcher.GameTweak;
import fr.theshark34.openlauncherlib.launcher.GameVersion;

public class Launcher {

public static final GameVersion kl_VERSION = new GameVersion("1.7.10", GameType.V1_7_10);
public static final GameInfos kl_INFOS = new GameInfos("KoaLife", kl_VERSION, true, new GameTweak[] (GameTweak.FORGE));
public static final File kl_DIR = kl_INFOS.getGameDir();

}

Donc si vous pourriez m'aidé a résoudre ce "bug" je vous serez reconnaissant
Cordialement
 

XeTechzZ

Premium
Inscription
8 Août 2013
Messages
1 792
Réactions
1 026
Points
16 231
Bonjour j'ai besoin d'aide dans le domaine java car voulant crée un launcher minecraft (je ne suis pas un kikoo) je crée mes package et tout je bordel et quand je veux testé mon code eclipse me dit

Exception in thread "main" java.lang.NullPointerException
at fr.theshark34.openlauncherlib.launcher.util.UsernameSaver.<init>(UsernameSaver.java:66)
at fr.KoaLife.KoaLifeLauncher.LauncherPanel.<init>(LauncherPanel.java:17)
at fr.KoaLife.KoaLifeLauncher.LauncherFrame.<init>(LauncherFrame.java:22)
at fr.KoaLife.KoaLifeLauncher.LauncherFrame.main(LauncherFrame.java:36)


donc je vous donne le code des fichiers
PS je possède toute les libraires externe nécessaire

LAUNCHER PANEL

package fr.KoaLife.KoaLifeLauncher;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JPanel;
import javax.swing.JTextField;

import fr.theshark34.openlauncherlib.launcher.util.UsernameSaver;
import fr.theshark34.swinger.Swinger;

@SuppressWarnings("serial")
public class LauncherPanel extends JPanel {

private Image background = Swinger.getResource("background.png");

private UsernameSaver saver = new UsernameSaver(Launcher.kl_INFOS);

private JTextField usernameField = new JTextField(saver.getUsername(""));

public LauncherPanel() {
this.setLayout(null);

usernameField.setBounds(271, 205, 231, 642);
this.add(usernameField);
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);

g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
}

}

LAUNCHER FRAME

package fr.KoaLife.KoaLifeLauncher;

import javax.swing.JFrame;
import javax.swing.UIManager;

import fr.theshark34.swinger.Swinger;
import fr.theshark34.swinger.util.WindowMover;

@SuppressWarnings({ "serial", "unused" })
public class LauncherFrame extends JFrame {

private static LauncherFrame instance;
private LauncherPanel launcherPanel;

public LauncherFrame() {
this.setTitle("KoaLife");
this.setSize(900, 500);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setUndecorated(true);
this.setIconImage(Swinger.getResource("icon.png"));
this.setContentPane(launcherPanel = new LauncherPanel());

WindowMover mover = new WindowMover(this);
this.addMouseListener(mover);
this.addMouseMotionListener(mover);

this.setVisible(true);

}

public static void main(String[] args) {
Swinger.setSystemLookNFeel();
Swinger.setResourcePath("/fr/KoaLife/KoaLifeLauncher/resources/");

instance = new LauncherFrame();
}

public static LauncherFrame getInstance() {
return instance;
}

public LauncherPanel getLauncherPanel() {
return this.launcherPanel;
}
}

LAUNCHER

package fr.KoaLife.KoaLifeLauncher;

import java.io.File;

import fr.theshark34.openlauncherlib.launcher.GameInfos;
import fr.theshark34.openlauncherlib.launcher.GameType;
import fr.theshark34.openlauncherlib.launcher.GameTweak;
import fr.theshark34.openlauncherlib.launcher.GameVersion;

public class Launcher {

public static final GameVersion kl_VERSION = new GameVersion("1.7.10", GameType.V1_7_10);
public static final GameInfos kl_INFOS = new GameInfos("KoaLife", kl_VERSION, true, new GameTweak[] (GameTweak.FORGE));
public static final File kl_DIR = kl_INFOS.getGameDir();

}

Donc si vous pourriez m'aidé a résoudre ce "bug" je vous serez reconnaissant
Cordialement
NullPointer Exception, ça veut dire que tu as mal instancié quelque chose

Je pense que ton problème vient d'ici :

Code:
public class LauncherPanel extends JPanel {

private Image background = Swinger.getResource("background.png");

private UsernameSaver saver = new UsernameSaver(Launcher.kl_INFOS);

private JTextField usernameField = new JTextField(saver.getUsername(""));

public LauncherPanel() {
this.setLayout(null);

usernameField.setBounds(271, 205, 231, 642);
this.add(usernameField);
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);

g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
}

}

Et voici la solution :

Code:
public class LauncherPanel extends JPanel {

public LauncherPanel() {
this.setLayout(null);

UsernameSaver saver = new UsernameSaver(Launcher.kl_INFOS);

JTextField usernameField = new JTextField(saver.getUsername(""));
usernameField.setBounds(271, 205, 231, 642);
this.add(usernameField);
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);


Image background = Swinger.getResource("background.png");

g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
}

}
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut