2015-06-26 2 views
-1

Я пытался использовать свой первый код в java swing и получил много ошибок. мой код:java exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

class Swinging extends JFrame 
{ 
    JTextField ans; 
    int count =0; 
    static final long serialVersionUID = 1L; 
    Swinging() 
    { 
     Container cp= getContentPane(); 
     cp.setLayout(new FlowLayout()); 

     cp.add(new JLabel("value",7)); 

     ans=new JTextField("0",10); 
     cp.add(ans); 

     JButton inc= new JButton("increment"); 
     cp.add(inc); 

     inc.addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent e) 
      { 
       ++count; 
       ans.setText(count+""); 
      } 
     }); 

     setSize(200,200); 
     setVisible(true); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 


public class Usingswing { 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 

      public void run() { 
       new Swinging(); // Let the constructor do the job 
      } 
      }); 

    } 

} 

и ошибки следующим образом:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: horizontalAlignment 
at javax.swing.JLabel.checkHorizontalKey(Unknown Source) 
at javax.swing.JLabel.setHorizontalAlignment(Unknown Source) 
at javax.swing.JLabel.<init>(Unknown Source) 
at javax.swing.JLabel.<init>(Unknown Source) 
at hopeso.Swinging.<init>(Usingswing.java:16) 
at hopeso.Usingswing$1.run(Usingswing.java:45) 
at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$400(Unknown Source) 
at java.awt.EventQueue$3.run(Unknown Source) 
at java.awt.EventQueue$3.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 

я пытался решить мою проблему, используя вопросы, размещенные другими людьми, но это не тренировка. пожалуйста помоги.

ответ

6

ошибка возникает из-за следующей строки:

cp.add(new JLabel("value",7)); 

Вы используете JLabel «s конструктор, который принимает текст и горизонтальное выравнивание. Выравнивания является int, но она должна быть одной из следующих констант, в противном случае он будет бросать IllegalArgumentException:

  • ЛЕВЫЙ (2)
  • CENTER (0)
  • RIGHT (4)
  • Leading (10)
  • TRAILING (11)

Эти константы определены в SwingConstants, так что вы можете просто МОПВ что-то вроде этого:

cp.add(new JLabel("value", SwingConstants.CENTER)); 
Смежные вопросы