2017-12-18 2 views
0

ich habe es nach unten verengt, so dass der int Umwandlung von JTextField die Fehler in int ist, aber ich bin nicht sicher, wo sie gegebenFehler wegen int Umwandlung Platzierung

package demooo; 

/* 
* GridBagLayoutDemo.java requires no other files. 
*/ 
import java.awt.*; 
import java.awt.event.*; 
import java.sql.*; 
import javax.swing.*; 
import javax.swing.text.DefaultCaret; 

public class Demooo implements ActionListener { 

    final static boolean shouldFill = true; 
    final static boolean shouldWeightX = true; 
    final static boolean RIGHT_TO_LEFT = false; 
    private final static String newline = "\n"; 
    protected JTextField textField; 
    protected JTextArea textArea; 

    public static void addComponentsToPane(Container pane) { 

     if (RIGHT_TO_LEFT) { 

pane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
     } 

     /*test for team names */ 
     //String[] teamString = {}; 
     String[] reffString = {"bob", "fred", "jon", "ed", "killa"}; 
     JLabel label; 
     JLabel labelA; 
     JLabel labelH; 
     JLabel labelA2; 
     JLabel labelH2; 
     JTextField text; 
     int g = 0 ; 
     JButton next; 
     JButton button1; 
     JButton button2; 
     JLabel blank; 
     JLabel Head; 
     JComboBox comboH; 
     JComboBox comboA; 
     JComboBox comboReff; 
     String winner; 
     Connection con = null; 
     Statement st = null; 
     ResultSet rs = null; 
     /* int h = Integer.parseInt(homegoal.getText()); 
     int a = Integer.parseInt(awaygoal.getText()); 
     int h2 = Integer.parseInt(homegoal2.getText()); 
     int a2 = Integer.parseInt(awaygoal2.getText());*/ 

     pane.setLayout(new GridBagLayout()); 

     GridBagConstraints c = new GridBagConstraints(); 
     if (shouldFill) { 
      //natural height, maximum width 
      c.fill = GridBagConstraints.HORIZONTAL; 
     } 
     /*select home team*/ 

     labelH = new JLabel("Home Team"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 0; 
     c.gridy = 0; 
     pane.add(labelH, c); 

     comboH = new JComboBox(/*teamString*/); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.weightx = 1; 
     c.gridx = 0; 
     c.gridy = 1; 
     pane.add(comboH, c); 
     /* to add blank space between teams*/ 

/*cant get right yet but will try */ 
/*select away team*/ 
     labelA = new JLabel("Away Team"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 7; 
     c.gridy = 0; 
     pane.add(labelA, c); 

     comboA = new JComboBox(/*teamString*/); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.weightx = 1; 
     c.gridx = 7; 
     c.gridy = 1; 
     pane.add(comboA, c); 

     /*Team 1 home*/ 
     Head = new JLabel("Home Game Score", SwingConstants.CENTER); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.ipady = 20;  //make this component tall 
     c.weightx = 0.0; 
     c.gridwidth = 3; 
     c.gridx = 0; 
     c.gridy = 3; 
     pane.add(Head, c); 
     Head.setFont(new Font("Serif", Font.BOLD, 18)); 

     /*enter score for home game*/ 
     labelH2 = new JLabel("Home Team Goals"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 0; 
     c.gridy = 4; 
     pane.add(labelH2, c); 

     JTextField homegoal = new JTextField(2); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 0; 
     c.gridy = 5; 
     pane.add(homegoal, c); 
int h = Integer.parseInt(homegoal.getText()); 
     /*ref section*/ 
     label = new JLabel("Referee"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 3; 
     c.gridy = 4; 
     pane.add(label, c); 

     comboReff = new JComboBox(reffString); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.weightx = 1; 
     c.gridx = 3; 
     c.gridy = 5; 
     pane.add(comboReff, c); 

     /*other teams goals*/ 
     label = new JLabel("Away Team Goals"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 7; 
     c.gridy = 4; 
     pane.add(label, c); 

     JTextField awaygoal = new JTextField(2); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 7; 
     c.gridy = 5; 
     pane.add(awaygoal, c); 
     int a = Integer.parseInt(awaygoal.getText()); 


     /*team 2 is home team*/ 
     Head = new JLabel("Away Game Score", SwingConstants.CENTER); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.ipady = 20;  //make this component tall 
     c.weightx = 0.0; 
     c.gridwidth = 3; 
     c.gridx = 0; 
     c.gridy = 6; 
     pane.add(Head, c); 
     Head.setFont(new Font("Serif", Font.BOLD, 18)); 

     label = new JLabel("Home Team Goals"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 0; 
     c.gridy = 8; 
     pane.add(label, c); 

     JTextField homegoal2 = new JTextField(2); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 0; 
     c.gridy = 9; 
     pane.add(homegoal2, c); 
     int h2 = Integer.parseInt(homegoal2.getText()); 
     /*reff */ 
     label = new JLabel("Referee"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 3; 
     c.gridy = 8; 
     pane.add(label, c); 

     comboReff = new JComboBox(reffString); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.weightx = 1; 
     c.gridx = 3; 
     c.gridy = 9; 
     pane.add(comboReff, c); 


     /*next teams goals*/ 
     label = new JLabel("Away Team Goals"); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 7; 
     c.gridy = 8; 
     pane.add(label, c); 

     JTextField awaygoal2 = new JTextField(2); 
     if (shouldWeightX) { 
      c.weightx = 0.5; 
     } 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.gridx = 7; 
     c.gridy = 9; 
     pane.add(awaygoal2, c); 

     int a2 = Integer.parseInt(awaygoal2.getText()); 


     /*match set complete*/ 
     button1 = new JButton("The winner of this set of matches was"); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.ipady = 20;  //make this component tall 
     c.weightx = 2; 
     c.gridwidth = 8; 
     c.gridx = 0; 
     c.gridy = 10; 
     pane.add(button1, c); 
     button1.addActionListener(new ActionListener() { 

         public void actionPerformed(int g) { 
         if (h>a){ 
         g =+1; 
         }else if (a>h){ 
         g =-1;} 
         else{ 
         g = g;} 
         } 

      @Override 
      public void actionPerformed(ActionEvent ae) { 
       throw new UnsupportedOperationException("Not supported 
yet."); //To change body of generated methods, choose Tools | Templates. 
      } 
     }); 

     if (g > 0){ 
     winner = "home"; 
     } 
     else if (g < 0){ 
     winner = "away";} 
     else { 
     winner = "Draw";} 

     label = new JLabel (winner); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.ipady = 20;  //make this component tall 
     c.weightx = 2; 
     c.gridwidth = 8; 
     c.gridx = 0; 
     c.gridy = 11; 
     pane.add(label, c); 

     button2 = new JButton ("Next Match"); 
     c.fill = GridBagConstraints.HORIZONTAL; 
     c.ipady = 20;  //make this component tall 
     c.weightx = 2; 
     c.gridwidth = 8; 
     c.gridx = 0; 
     c.gridy = 12; 
     pane.add(button2, c); 

     try { 
      con = DriverManager.getConnection("jdbc:derby://localhost:1527/" 
+ "jfl", "jfl", "jfl"); 
      st = con.createStatement(); 
      String s = "SELECT Teamname,ID from JFL.TEAMS"; 

      rs = st.executeQuery(s); 
      while (rs.next()) { 
       comboH.addItem(rs.getString(1) + " " + rs.getString(2)); 
       comboA.addItem(rs.getString(1) + " " + rs.getString(2)); 
      } 
     } catch (Exception e) { 
      JOptionPane.showMessageDialog(null, "ERROR"); 
     } finally { 
      try { 
       st.close(); 
       rs.close(); 
       con.close(); 
      } catch (Exception e) { 
       JOptionPane.showMessageDialog(null, "ERROR CLOSE"); 
      } 
     } 
    } 

    /** 
    * Create the GUI and show it. 
    * 
    * @param evt 
    */ 
    public void actionPerformedd(ActionEvent evt) { 

     String text = textField.getText(); 
     textArea.append(text + newline); 
     textField.selectAll(); 

     //Make sure the new text is visible, even if there 
     //was a selection in the text area. 
     textArea.setCaretPosition(textArea.getDocument().getLength()); 
    } 

    private static void createAndShowGUI() { 
     //Create and set up the window. 
     JFrame frame = new JFrame("Junior Football League"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JMenuBar menubar = new JMenuBar(); 
     frame.setJMenuBar(menubar); 

     //file menu 
     JMenu fileMenu = new JMenu("File"); 
     menubar.add(fileMenu); 

     JMenuItem quitItem = new JMenuItem("Quit"); 
     fileMenu.add(quitItem); 
     quitItem.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
       //call another method to close window 
       System.exit(0); 
      } 
     }); 
     JMenu helpItem = new JMenu("Teams"); 
     menubar.add(helpItem); 

     JMenuItem subMenu = new JMenuItem("Create New Team"); 


    public static void main(String[] args) { 
     //Schedule a job for the event-dispatching thread: 
     //creating and showing this application's GUI. 
     javax.swing.SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       createAndShowGUI(); 
      } 
     }); 
    } 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
    } 

} 

die Fehlermeldung zu setzen ist

Lauf

Exception in thread "AWT-Eventqueue-0" java.lang.NumberFormatException:: bei Eingabe-String: "" bei java.lang.NumberFormatException.forInputString (NumberFormatException.java:65) bei java.lang.Integer.parseInt (Integer.java:592) bei java.lang.Integer.parseInt (Integer.java:615) bei demooo.Demooo.addComponentsToPane (Demooo.java : 127) bei demooo.Demooo.createAndShowGUI (Demooo.java:918) bei bei demooo.Demooo.access $ 000 (Demooo.java:12) bei demooo.Demooo 6.run $ (Demooo.java:936) java .awt.event.InvocationEvent.dispatch (InvocationEvent.java:311) um java.awt.EventQueue.dispatchEventImpl (EventQueue.java:756) um java.awt.EventQueue.access $ 500 (EventQueue.java:97) um java.awt.EventQueue $ 3.run (EventQueue.java:709) um java.awt.EventQueue $ 3.run (EventQueue.java:703) um java.sec urity.AccessController.doPrivileged (native Methode) bei java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) bei java.awt.EventQueue.dispatchEvent (EventQueue.java:726) bei java.awt.EventDispatchThread .pumpOneEventForFilters (EventDispatchThread.java:201) bei java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:116) bei java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:105) bei java.awt. EventDispatchThread.pumpEvents (EventDispatchThread.java:101) um java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93) bei java.awt.EventDispatchThread.run (EventDispatchThread.java:82) BUILD erfolgreich (Gesamtzeit: 1 Sekunde)

+2

Sie sagen, Sie haben es eingegrenzt, aber das sieht aus, als hätten Sie hier Ihren gesamten Code abgelegt. Bitte erstellen Sie eine ordnungsgemäße [mcve] oder reduzieren Sie es zumindest auf den Code, wo der Fehler auftritt, das ist viel zu viel – UnholySheep

+2

Sie können die ganze Zahl nicht analysieren, wenn nichts zu analysieren ist ... Sieht aus, als ob Sie überprüfen müssen Der String ist leer, bevor versucht wird, ihn zu analysieren (basierend auf der Fehlermeldung). – DigitalNinja

+0

Was ist online # ** 127 ** in Ihrem 'Doooo.java'? –

Antwort

1

Sie haben dies in Zeile 127.

int h = Integer.parseInt(homegoal.getText()); 

die folgenden Zeilen aus die Ausnahme sagen Sie mir, dass der Fehler in dieser Zeile ist und es betrifft Konvertierungsform String zu Int.

java.lang.Integer.parseInt(Integer.java:592) at 
java.lang.Integer.parseInt(Integer.java:615) at 
demooo.Demooo.addComponentsToPane(Demooo.java:127) at 

Ich würde einen Blick auf welchen Wert für homegoal.getText() durch kommt. Wenn es Null ist, dann setze 0 in die int-Variable.

Edit: Aus dem Aussehen davon erstellen Sie nur das Textfeld, so dass es leer sein wird. Deshalb der Fehler. Überprüfen Sie, ob es leer ist und weisen Sie ihm 0 zu.

int h = (homegoal == null || homegoal.getText().isEmpty()? 0:Integer.parseInt(homegoal.getText()); 
Verwandte Themen