Witam serdecznie,
ma pytanie dotyczące wygenerowanego kodu przez NetBeans IDE . Nie wiem czy go dobrze rozumiem. Aby ten kod wygenerować należy utworzyć Nowy Projekt : Java -> Java Class Library Następnie utworzyć nową klasę, wybierać opcje New JFrame From. Wygeneruję się poniższy kod:
package kasia;
public class NewJFrame2 extends javax.swing.JFrame {
/** Creates new form NewJFrame2 */
public NewJFrame2() {
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() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame2().setVisible(true);
}
});
}
// Variables declaration - do not modify
// End of variables declaration
}
Działanie wygenerowanego kodu rozumiem w następujący sposób:
Klasa NewJFrame2 dziedziczy po klasie JFrame .Jest wykorzystana, aby zbudować okno aplikacji. Metoda NewJFrame2 jest wywoływana jako konstruktor. Posiada w sobie wbudowana automatycznie metodę initComponents();, która ustawia standardowe okno dla narzędzia Netbeans IDE 6.9.1. Poniżej znajduje się metoda @SuppressWarnings("unchecked") wywołana z poziomu konstruktora zainicjowanego formularza. Nie należy jej zmieniać, jej zawartość jest zawsze generowana przez Form Editor. W głównej metodzie main() znajduje się metoda obsługi kolejki zdarzeń EventQueue. Metoda ta powoduje, że kod, który jest umieszczony w metodzie run() zostanie wykonany przez wątek służący do obsługi interfejsu graficznego. Powodem tego jest to iż kod biblioteki Swing nie jest wielowątkowy. Ponieważ obsługą interfejsu zajmuje się już jeden konkretny wątek, to wszystko co zmienia ten interfejs musi być uruchomione z tego właśnie wątku. Wywołując EventQueue przekazane jest do invokeLater() Ta klasa podnosi ten wątek i przekazuje klasę anonimową implementującą interfejs Runnable. Która wymaga zdefiniowania metody run(). W niej zostają podane zdarzenia jakie mają zostać wykonane.
Proszę uprzejmie o wskazanie mi jakiś wskazówek, poprawek..?
Mało znalazłam na internecie o @SuppressWarnings("unchecked") np co ta małpka robi.. , nie rozumiem tego też parametru co posiada w sobie ..