当前位置: 代码迷 >> Java相关 >> 编译异常
  详细解决方案

编译异常

热度:996   发布时间:2013-02-25 21:45:38.0
编译错误
import javax.swing.*;
import java.awt.*;
public class example10_8{
  public static void main(String args[]){
  new MyWin();
}
}
class MyWin extends JFrame{
  JTabbedPane p;
  Icon[];
  String imageName[]={"a.jpg","b.jpg","c.jpg","d.jpg","e.jpg"};
  public MyWin(){
  setBounds(100,100,500,300);
  setVisible(true);
  icon=new Icon[imageName];
  for(int i=0;i<icon.length;i++);
  icon[i]=new ImageIcon(imageName[i]);
  p=new JTabbedPane(JTabbedPane.LEFT);
  for(int i=0;i<icon.length;i++){
  int m=i+1;
  p.add("观看第"+m+"个图片",new.JButton(icon[i]));
}
  p.validate();
  add(p.BorderLayout.CENTER);
  validate();
  setDefaultCloseOperation(JFrame.dispose_ON_CLOSE);
}
}

------解决方案--------------------------------------------------------
照书上抄的吧,很多大小写和标点符号错误。
正确代码如下:
Java code
import javax.swing.*;import java.awt.*;public class example10_8 {    public static void main(String args[]) {        new MyWin();    }}class MyWin extends JFrame {    JTabbedPane p;    Icon[] icon;    String imageName[] = { "a.jpg", "b.jpg", "c.jpg", "d.jpg", "e.jpg" };    public MyWin() {        setBounds(100, 100, 500, 300);        setVisible(true);        icon = new Icon[imageName.length];        for (int i = 0; i < icon.length; i++)            icon[i] = new ImageIcon(imageName[i]);        p = new JTabbedPane(JTabbedPane.LEFT);        for (int i = 0; i < icon.length; i++) {            int m = i + 1;            p.add("观看第" + m + "个图片", new JButton(icon[i]));        }        p.validate();        add(p, BorderLayout.CENTER);        validate();        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);    }}
------解决方案--------------------------------------------------------
import javax.swing.*;
import java.awt.*;
public class example10_8{
public static void main(String args[]){
new MyWin();
}
}
class MyWin extends JFrame{
JTabbedPane p;
Icon[] icon;//定义数组引用需要加上名称,这和定义int i一样,不可以就写一个int,就结束了
String imageName[]={"a.jpg","b.jpg","c.jpg","d.jpg","e.jpg"};
public MyWin(){
setBounds(100,100,500,300);
setVisible(true);
icon=new Icon[imageName.length];//
for(int i=0;i<icon.length;i++) //如果该语句加上“;”,表示for结束,下面的语句就不可以使用i了
icon[i]=new ImageIcon(imageName[i]);
p=new JTabbedPane(JTabbedPane.LEFT);
for(int i=0;i<icon.length;i++)
{
int m=i+1;
  p.add("观看第"+m+"个图片",new JButton(icon[i]));//new后面应该是空格,不该是“.”
}
p.validate();
//add(BorderLayout.CENTER);//括号中不需使用p;另外好像没有add(String s)这样的方法--参见1楼改好了,确实是符号写错,add(p,BorderLayout.CENTER);,我也学习一下,
validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//java区分大小写的,常量都是使用大写
}
}
  相关解决方案