Problem z kompilacją

0

Witam, program pokazuje mi w ostatniej linijce wykrzyknik i pisze: reached end of file while Parsing. Jest to ostatni błąd, którego nie udało mi się wyeliminować. Proszę o pomoc, oto kod programu:

import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

public class NewJInternalFrame extends javax.swing.JInternalFrame {
    private Rectangle screenrect;
    private JButton jButton1;
    private JLabel jLabel1;

    public NewJInternalFrame() {
        initComponents();
    }
                        
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        jButton1.setText("Screenshot");
        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()
                .addGap(154, 154, 154)
                .addComponent(jButton1)
                .addContainerGap(153, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jButton1)
                .addGap(18, 18, 18)
                .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 226, Short.MAX_VALUE)
                .addContainerGap())
        );

        pack();
    }                     

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try{
            
            Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
            BufferedImage capture = new Robot().createScreenCapture(screenRect);
            ImageIcon icon=new ImageIcon(capture);
            jLabel1.setIcon(icon);
        
        
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
    }
        
 public static void main(String args[]) {
 
            java.awt.EventQueue.invokeLater(new Runnable(){
                    
                @Override
                public void run() {
                    new NewJInternalFrame().setVisible(true);               
        
    }                                                                                  
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
                             
    }
0

http://lmgtfy.com/?q=java+reached+end+of+file+while+parsing

Tak trudno było przekleić błąd w google? Miałbyś mniej roboty, niż wklejać tutaj cały kod...

0

Sprawdzałem w googlach ale chodzi mi o to, że nie mogę znaleźć co jest w kodzie nie tak, w którym dokładnie miejscu.

2

Jak dla mnie to masz zduplikowane deklaracja buttonów i brakuje ci jednego } na końcu. Co zresztą widać gołym okiem a jakbyś nie pisał lodówką tylko IntelliJ to od razu byloby widać jakby tylko sformatował kod...

0

Robiłem to w NetBeans, dodałem na końcu } ale wtedy pokazuje się jeszcze jeden taki błąd i dalej nie wiem co zrobić. To moja pierwsza samodzielna aplikacja i nie do końca wiem co poprawić, jakby ktoś wiedział co jeszcze można poprawić proszę o pomoc, ponieważ potrzebuję tego na jutro na zaliczenie.

1

samodzielna

Parafrazując moją polonistkę z liceum obśmiałem się jak norka. Jakby było samodzielne to rozumiałbyś co się tam dzieje i dlaczego.

potrzebuję tego na jutro na zaliczenie

Wykształcenie nie piwo, nie musi być pełne. Czemu miałbyś dostać zaliczenie z przedmiotu którego ewidentnie nie umiesz? Przecież to bez sensu. Zaliczenie oznacza że nabyłeś wymaganą wiedzę, a o tobie nie można tego powiedzieć. Napisałem ci wyżej że błędy są co najmniej dwa. Umiesz czytać ze zrozumieniem?

0
  public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable(){

            @Override
            public void run() {
                new NewJInternalFrame().setVisible(true);

            }
            private javax.swing.JButton jButton1; // <-----ciekawe konstrukcje:)
            private javax.swing.JLabel jLabel1; // <------ ciekawe konstrukcje:)

        }
    }

swoją drogą ciekawa konstrukcja deklaracji zmiennych w metodzie main... szkoda że do niczego nie potrzebna...

0

Czyli te dwie linijki nie są potrzebne?

0

Nie no na pewno są. Przecież samodzielnie napisałeś ten kod, a co za tym idzie świadomie napisałeś wszystkie linijki kodu. No to jak by się to stało ze nagle są tam jakieś linijki które są zbędne i jeszcze do tego ty sam nie wiesz po co one są? Przecież to nielogiczne...

1 użytkowników online, w tym zalogowanych: 0, gości: 1