<Pas de classes de découverte>
Suivie d'un oracle tutoriel sur la création d'une interface graphique, le tutoriel a promis que, lors de l'exécution de l'application, je vais avoir à sélectionner la classe principale, cependant, Netbeans ne pas trouver toutes les Principales classes?
Voici mon code:
public class GUI extends javax.swing.JFrame {
/**
* Creates new form GUI
*/
public GUI() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//<editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTextField1 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Bookshop");
jTextField1.setText("Enter Title");
jTextField1.setName(""); //NOI18N
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jLabel1.setText("Book Title");
jButton1.setText("Submit");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jLabel1)
.addContainerGap(244, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(228, 228, 228))
);
pack();
}//</editor-fold>
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
//TODO add your handling code here:
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//TODO add your handling code here:
//Parse degrees Celsius as a double and convert to Fahrenheit.
String Title = (String)(jTextField1.getText());
jLabel1.setText("Selected Title:" + Title);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GUI().setVisible(true);
}
});
}
//Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JTextField jTextField1;
//End of variables declaration
}
Je pensais que le "public static void main(String args []) {" , a déclaré une classe principale. La classe GUI.java est dans le paquet source donc je ne comprends vraiment pas.
Veuillez noter que je suis très nouveau à Java, et j'apprécie vraiment votre temps.
- Pouvez-vous partager le lien de ce tutoriel?
- Votre code fonctionne, il se peut que votre erreur est causée par une mauvaise utilisation de netbeans?
Vous devez vous connecter pour publier un commentaire.
Votre compréhension est correcte, et je ne vois rien du tout de toute évidence, le problème avec votre classe principale.
Bien qu'ayant dit que:
devrait être:
Si vous faites un clic droit sur le fichier Java dans votre projet de fenêtre et sélectionnez "exécuter ce fichier" ou "ce fichier de débogage" qui dira netbeans pour exécuter ce fichier en ignorant les paramètres du projet.
Si cela fonctionne puis allez dans les propriétés de votre projet et de définir la classe principale pour une utilisation future.
Votre meilleur pari pour la piste, cette baisse sera diviser pour régner. Créer un nouveau fichier, de créer un vide
main()
méthode en elle, qui se contente d'afficher "hello world", puis de transférer votre code à travers une section à la fois jusqu'à ce que vous trouver la chose qui le casse.main
s de travail, c'est juste la première est une meilleure pratiquecode style
?int array[]
fonctionne correctement, maisint[] array
est préféré. siint array[]
est préféré par ceux qui sont habitués à CSi vous voulez juste pour exécuter le fichier, clic droit sur la classe à partir de l'explorateur de packages, et cliquez sur Exécuter le Fichier, ou (Alt + R, F), ou (Maj + F6)
L'erreur que j'ai fait avant, c'est quand je créer un nouveau Projet, j'ai oublié de décochez l'option "Créer Principal de la Classe de case à cocher et ainsi de créer une Classe pour moi, que je n'aime pas donc j'ai supprimer la classe. Dans ce cas, je devrais faire les étapes ci-dessus pour régler le problème de sorte qu'il puisse fonctionner correctement. La classe Principale NetBeans crée pour vous, c'est le lancement de la classe. Si vous le supprimez, vous devez spécifier manuellement le nouveau lancement de classe pour le projet, puis nettoyer et construire.