Java 线程“AWT-EventQueue-0”中的异常无法编译
这是我的代码:Java 线程“AWT-EventQueue-0”中的异常无法编译,java,multithreading,exception,Java,Multithreading,Exception,这是我的代码: 11 at FieldProva.merrTekstin(FieldProva.java:47) at FieldProva$2.actionPerformed(FieldProva.java:91) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unkno
11
at FieldProva.merrTekstin(FieldProva.java:47)
at FieldProva$2.actionPerformed(FieldProva.java:91)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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)
您的帖子缺少最重要的部分java.lang.ArrayIndexOutOfBoundsException,您还没有指出导致它的行:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class FieldProva extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
char[] alfabeti = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char[] kodimi = {'#','@','%','*','^','$','!','&','(',')','-','_','+','[','=',']',';','{','>','}','?',':','<','~','.',','};
String hyrja;
char[] hyrjaArray;
String space = "";
String fjalet;
private JPanel paneli = new JPanel();
private JTextArea hapsira1 = new JTextArea(23, 20);
private JTextArea hapsira2 = new JTextArea(23, 20);
private JButton shtyp1 = new JButton("Kodo");
private JButton pastro = new JButton ("Laje");
public void merrTekstin()
{
hyrja = hapsira1.getText();
char[] hyrjaArray = hyrja.toCharArray();
int nrgjatesia = hyrja.length();
int[] pozitaEshkronjes = new int[nrgjatesia];
for (int i=0; i<=hyrjaArray.length;)
{
if(hyrjaArray[i] == ' ' )
{
String shkronjamezbrastire = hapsira2.getText();
hapsira2.setText(shkronjamezbrastire + "`");
i++;
}
else
{
for(int j=0; j<alfabeti.length; j++)
{
if(alfabeti[j] == hyrjaArray[i])
{
String shkronjat = hapsira2.getText();
pozitaEshkronjes[i] = j;
String[] nifarRezultati = new String[nrgjatesia];
nifarRezultati[i] = Character.toString(kodimi[pozitaEshkronjes[i]]);
hapsira2.setText(shkronjat + nifarRezultati[i]);
i++;
j=0;
}
}
}
}
}
public FieldProva()
{
super("Message Encryption | Artan Shala");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(457, 472);
setVisible(true);
hapsira1.setBounds(10, 11, 164, 418);
hapsira1.setWrapStyleWord(true);
hapsira1.setLineWrap(true);
hapsira1.setBackground(new Color(211, 211, 211));
pastro.setBounds(186, 197, 63, 23);
pastro.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0)
{
hapsira1.setText("");
hapsira2.setText("");
}
});
shtyp1.setBounds(180, 156, 77, 23);
shtyp1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
merrTekstin();
}
});
hapsira2.setBounds(267, 11, 164, 418);
hapsira2.setLineWrap(true);
hapsira2.setWrapStyleWord(true);
hapsira2.setBackground(new Color(211, 211, 211));
getContentPane().setLayout(null);
getContentPane().add(hapsira1);
getContentPane().add(shtyp1);
getContentPane().add(pastro);
getContentPane().add(hapsira2);
}
public static void main(String[] args)
{
new FieldProva();
}
}
以下是我运行您的程序时异常堆栈跟踪的前3行:
if (alfabeti[j] == hyrjaArray[i]) {
对我来说,这句冒犯的话就是我上面提到的那句
原因是:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3
at foo2.FieldProva.merrTekstin(FieldProva.java:45)
at foo2.FieldProva$2.actionPerformed(FieldProva.java:84)
您不应该使用i Please来显示异常消息的前2-3行。而且,你的代码实际上编译得很好,而你的问题与非编译代码无关。今后,请提出一个更完整的问题。
for (int i = 0; i <= hyrjaArray.length;) {