This week's book giveaway is in the Java in General forum.
We're giving away four copies of Helidon Revealed: A Practical Guide to Oracle’s Microservices Framework and have Michael Redlich on-line!
See this thread for details.

Nacer Heithem

Greenhorn
+ Follow
since Mar 10, 2012
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Nacer Heithem

I am using bluetooth to send pdf file from android mobile (Client) to pc (Server). I have the code bellow:

code mobile:


code Pc:



The problem here is that the file (even small size) takes a long time to arrive to the server and I get this exception:

java.io.IOException: Failed to write; [10053] Une connexion établie a été abandonnée par un logiciel de votre ordinateur hôte.


Please if anyone could help me I would be very appreciated.
10 years ago
I created an android application which sign a pdf file using iText.
The project runs perfectly fine on API levels, but, I'm getting some problems on emulators.
When I load up the application on an emulator, I get this problem:


02-21 20:51:52.368: E/dalvikvm(410): Could not find class 'com.lowagie.text.pdf.PdfReader', referenced from method com.exampl.exemp.Sign_pdf.signPdf
02-21 20:51:52.368: W/dalvikvm(410): VFY: unable to resolve new-instance 26 (Lcom/lowagie/text/pdf/PdfReader;) in Lcom/exampl/exemp/Sign_pdf;
02-21 20:51:52.378: D/dalvikvm(410): VFY: replacing opcode 0x22 at 0x004a
02-21 20:51:52.398: D/dalvikvm(410): VFY: dead code 0x004c-0095 in Lcom/exampl/exemp/Sign_pdf;.signPdf ()Z
02-21 20:51:57.187: I/dalvikvm(410): Total arena pages for JIT: 11
02-21 20:51:57.227: I/dalvikvm(410): Total arena pages for JIT: 12
02-21 20:51:57.487: D/AndroidRuntime(410): Shutting down VM
02-21 20:51:57.497: W/dalvikvm(410): threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-21 20:51:57.517: E/AndroidRuntime(410): FATAL EXCEPTION: main
02-21 20:51:57.517: E/AndroidRuntime(410): java.lang.NoClassDefFoundError: com.lowagie.text.pdf.PdfReader
02-21 20:51:57.517: E/AndroidRuntime(410): at com.exampl.exemp.Sign_pdf.signPdf(Sign_pdf.java:47)
02-21 20:51:57.517: E/AndroidRuntime(410): at com.exampl.exemp.MainActivity.editText(MainActivity.java:114)
02-21 20:51:57.517: E/AndroidRuntime(410): at com.exampl.exemp.MainActivity.onCreate(MainActivity.java:36)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.os.Handler.dispatchMessage(Handler.java:99)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.os.Looper.loop(Looper.java:123)
02-21 20:51:57.517: E/AndroidRuntime(410): at android.app.ActivityThread.main(ActivityThread.java:3683)
02-21 20:51:57.517: E/AndroidRuntime(410): at java.lang.reflect.Method.invokeNative(Native Method)
02-21 20:51:57.517: E/AndroidRuntime(410): at java.lang.reflect.Method.invoke(Method.java:507)
02-21 20:51:57.517: E/AndroidRuntime(410): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-21 20:51:57.517: E/AndroidRuntime(410): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-21 20:51:57.517: E/AndroidRuntime(410): at dalvik.system.NativeStart.main(Native Method)
02-21 20:56:57.660: I/Process(410): Sending signal. PID: 410 SIG: 9


The problem maybe is comming up with the iText jar so what is the compatible version with android. Any help greatly appreciated...
I am developing a desktop application using java to send a file to android devices. I followed this article send file to mobile using bluetooth to develop it. I tested it in mobile, java based and it works fine but in android mobile I get this exception:


here there is the code of send:
Hi,
Please can I help me how to send file to mobile phone using bluetooth in java ?

Campbell Ritchie wrote:You will have to go to coutroleur and find controleurPlan, and work out why that is null.




Ok I will try
12 years ago

Ulf Dittmer wrote:TL;DR

You should start by figuring out which object reference is null. Some strategically placed System.out.println statements will help with that. Then go back in the code to find the spot where you think that reference should not be null. That should give you a starting point in figuring out where the code goes wrong.



Hi,

I have added the following tests to identify what is causing the exception

if (this.selectToggleModel==null)
System.err.println("this.selectToggleModel==null");

if (controleur==null)
System.err.println("controleur==null");
else
if (controleur.getControleurPlan()==null)
System.err.println("controleur.getControleurPlan()==null");

this.selectToggleModel.setSelected(controleur.getControleurPlan().getMode() == ControleurPlan.Mode.SELECTION);



and here is the test result: controleur.getControleurPlan()==null


help me please and thank you in advance
12 years ago
Hi,

Please help me is urgent I have encountered a problem in my project of end of study (I work with Eclipse)

here is the error: Exception in thread "main" java.lang.NullPointerException
at design3d.swing.PanneauLogement.<init>(PanneauLogement.java:25)

and here is the class where the error is triggered:



package design3d.swing;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.ResourceBundle;
import javax.swing.*;

import design3d.modele.*;

public class PanneauLogement extends JRootPane {

//Enumération des clés d?accès aux actions disponibles sur la vue.
public enum ActionType {UNDO, REDO, ADD_MEUBLE_LOGEMENT, DELETE_MEUBLE_LOGEMENT, DELETE, CREATE_WALLS}

private ResourceBundle resource;
private JToggleButton.ToggleButtonModel selectToggleModel;
private JToggleButton.ToggleButtonModel createWallsToggleModel;

public PanneauLogement(Logement logement, PreferencesUtilisateur preferences, ControleurLogement controleur) {

//Lecture du fichier de propriétés des actions.
this.resource = ResourceBundle.getBundle(PanneauLogement.class.getName());

this.selectToggleModel = new JToggleButton.ToggleButtonModel();
this.selectToggleModel.setSelected(controleur.getControleurPlan().getMode() == ControleurPlan.Mode.SELECTION);
this.createWallsToggleModel = new JToggleButton.ToggleButtonModel();
this.createWallsToggleModel.setSelected(controleur.getControleurPlan().getMode() == ControleurPlan.Mode.WALL_CREATION);

JPopupMenu.setDefaultLightWeightPopupEnabled(false);
ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);

//Créations des actions de la vue.
createActions(controleur);

//Modification de la barre de menus.
setJMenuBar(getLogementMenuBar());

//Ajout de la barre d?outils et des panneaux à la vue.
getContentPane().add(getToolBar(), BorderLayout.NORTH);
getContentPane().add(getPanneauMeubleCatalogue(controleur));
getContentPane().add(getMainPane(logement, controleur));
}

//Crée les actions associées à cette vue, à partir des propriétés en ressource.
private void createActions(final ControleurLogement controleur) {

createAction(ActionType.UNDO,controleur, "undo");
createAction(ActionType.REDO, controleur, "redo");
createAction(ActionType.ADD_MEUBLE_LOGEMENT, controleur, "ajouterMeubleLogement");
createAction(ActionType.DELETE_MEUBLE_LOGEMENT, controleur.getControleurMeuble(), "effacerSelection");
}

private void createAction(ActionType action, Object controleur, String methode) {
try {
getActionMap().put(action, new ControleurAction(this.resource, action.toString(), controleur, methode));
}
catch (NoSuchMethodException ex) {
throw new RuntimeException(ex);
}
}

//Renvoie la barre de menus associée à cette vue.
private JMenuBar getLogementMenuBar() {
ActionMap actions = getActionMap();

//Création du menu Edition à partir de sa pseudo-action associée.
JMenu editMenu = new JMenu(new ResourceAction(this.resource, "EDIT_MENU"));
editMenu.setEnabled(true);

//Ajout des éléments du menu Edition configurés à partir de leur action.
editMenu.add(actions.get(ActionType.UNDO));
editMenu.add(actions.get(ActionType.REDO));

//Création du menu Meubles.
JMenu meubleMenu = new JMenu(new ResourceAction(this.resource, "FURNITURE_MENU"));
meubleMenu.setEnabled(true);

//Ajout des éléments du menu Meubles configurés à partir de leur action.
meubleMenu.add(actions.get(ActionType.ADD_MEUBLE_LOGEMENT));
meubleMenu.add(actions.get(ActionType.DELETE_MEUBLE_LOGEMENT));

//Création de la barre de menus avec les menus Edition, Meubles et Plan.
JMenuBar menuBar = new JMenuBar();
menuBar.add(editMenu);
menuBar.add(meubleMenu);

return menuBar;
}
//Renvoie la barre d?outils associée à cette vue.
private JToolBar getToolBar() {
JToolBar toolBar = new JToolBar();
ActionMap actions = getActionMap();

//Ajout des boutons à la barre d?outils dont les icônes et les listeners sont configurés à partir des actions associées à cette vue.
toolBar.add(actions.get(ActionType.ADD_MEUBLE_LOGEMENT));
toolBar.add(actions.get(ActionType.DELETE_MEUBLE_LOGEMENT));
toolBar.addSeparator();
toolBar.add(actions.get(ActionType.UNDO));
toolBar.add(actions.get(ActionType.REDO));
return toolBar;
}

//Active ou désactive l?action qui correspond à la clé actionType.
public void setEnabled(ActionType actionType, boolean enabled) {
getActionMap().get(actionType).setEnabled(enabled);
}

//Modifie le texte et la description courte des actions Annuler/Refaire.
public void setUndoRedoName(String undoText, String redoText) {
setNameAndShortDescription(ActionType.UNDO, undoText);
setNameAndShortDescription(ActionType.REDO, redoText);
}

private JComponent getPanneauMeubleCatalogue(ControleurLogement controleur) {

//Récupération des vues de l?arbre du catalogue et du tableau des meubles.
JComponent vueCatalogue = controleur.getControleurCatalogue().getVue();
JComponent vueMeuble = controleur.getControleurMeuble().getVue();

//Création d?un panneau partagé qui visualise les deux vues dans des panneaux à ascenseurs.
JSplitPane panneauMeubleCatalogue =new JSplitPane(JSplitPane.VERTICAL_SPLIT, new JScrollPane(vueCatalogue), new JScrollPane(vueMeuble));

//Redimensionnement continu pendant le déplacement de la barre de division.
panneauMeubleCatalogue.setContinuousLayout(true);

//Affichage en un clic d?une ou de l?autre partie du panneau.
panneauMeubleCatalogue.setOneTouchExpandable(true);

//Changement du poids des composants du panneau partagé pour qu?après un redimensionnement du panneau, ils gardent les mêmes proportions verticalement
panneauMeubleCatalogue.setResizeWeight(0.5);
return panneauMeubleCatalogue;
}

//Renvoie le panneau principal ajouté au centre du composant HomePane dans son constructeur.
private JComponent getMainPane(Logement logement, ControleurLogement controleur) {

JSplitPane mainPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, getPanneauMeubleCatalogue(controleur), getPlanView3DPane(logement, controleur));
mainPane.setContinuousLayout(true);
mainPane.setOneTouchExpandable(true);
mainPane.setResizeWeight(0.3);
return mainPane;
}

//Renvoie le panneau qui contient la vue du plan et la vue 3D du logement.
private JComponent getPlanView3DPane(Logement logement, ControleurLogement controleur) {
JComponent planView = controleur.getControleurPlan().getVue();

//Création du composant de la vue 3D du logement.
JComponent view3D = new LogementComponent3D(logement);
view3D.setPreferredSize(planView.getPreferredSize());
view3D.setMinimumSize(new Dimension(0, 0));

//Ajout des deux composants dans un panneau partagé.
JSplitPane planView3DPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,new JScrollPane(planView), view3D);
planView3DPane.setContinuousLayout(true);
planView3DPane.setOneTouchExpandable(true);
planView3DPane.setResizeWeight(0.5);
return planView3DPane;
}
}




Of course there are other classes and this is the class constructor ControleurLogement:

public ControleurLogement(Logement logement, PreferencesUtilisateur preferences) {

this.logement = logement;
this.preferences = preferences;

this.undoSupport = new UndoableEditSupport();
this.undoManager = new UndoManager();
this.undoSupport.addUndoableEditListener(this.undoManager);

this.controleurCatalogue = new ControleurCatalogue(preferences.getCatalogue());

this.controleurMeuble = new ControleurMeuble(logement, preferences, this.undoSupport);

this.vueLogement = new PanneauLogement(logement, preferences, this);

ajouterListeners();
}


Important: The main method is in the class ControleurLogementTest

And finally, I thank you in advance for the attention you bring to this message
12 years ago