Bonjour à tous,
je vais essayer d'expliquer mon petit problème de débutant.. j'ai créé un petit programme pour le calcul hyperfocale, tout fonctionne à peu près bien, j'aimerai juste personnaliser le logo (ou le virer) qu'il y a dans les fenêtres et mon deuxième problème c'est qu'une fois exporté en .JAR le progrmme se lance et fait très bien ce pourquoi je l'ai conçu mais les deux premières fenêtres ne se ferment pas en cliquant sur ok, ce qui fait qu'à la fin du programme même quand on fait quitter elle sont encore la et on doit cliquer sur annuler, avez-vous une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 /* @seb */ import javax.swing.JOptionPane; import java.awt.Dimension; import javax.swing.*; import java.text.DecimalFormat; public class HyperFocale { public static void main(String args[]) { double focale; double ouverture; focale = Integer.parseInt(JOptionPane.showInputDialog("Entrer la focale")); ouverture = Double.parseDouble(JOptionPane.showInputDialog("Entrer l'ouverture").replace(',','.')); // Fenetre selection type de capteur Object capteur = JOptionPane.showInputDialog(null, "Choisissez votre type de capteur", "HyperFocale", JOptionPane.QUESTION_MESSAGE, null, new String[] {"Full Frame","Nikon APS-C","Canon APS-C"}, null); double Capt = 0; if (capteur!=null) { switch (capteur.toString()) { case "Full Frame": Capt = 0.030; break; case "Nikon APS-C": Capt = 0.020; break; case "Canon APS-C": Capt = 0.019; break; } } else { return; } double ans; ans = (focale * focale) / (ouverture * Capt) / 1000; //Calcul hyperfocale JFrame frame = new JFrame("Distance Hyperfocale"); DecimalFormat df = new DecimalFormat ("0.0"); frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel(""+df.format(ans)); label.setAlignmentX(0.5f); label.setPreferredSize(new Dimension (400, 25)); frame.getContentPane().add(label); JButton boutonQuitter = new JButton("Quitter"); boutonQuitter.setAlignmentX(0.5f); boutonQuitter.addActionListener(e->frame.dispose()); frame.add(boutonQuitter); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } }
Merci pour votre aide,
Seb
Partager