NoClassDefFoundError错误

ge_haiming 2007-04-30 06:01:04
//在解释运行程序时发生了一个奇怪的错误----// NoClassDefFoundError
// 请专家们帮我看看
/**
MyColorSliderTest.java
@author GeHaiming
@version 2007-04-30
*/

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

public class MyColorSliderTest
{
public static void main(String[] args)
{
MyColorSliderFrame frame=new MyColorSliderFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

/**
MyColorSliderFrame
*/
class MyColorSliderFrame extends JFrame
{
public MyColorSliderFrame()
{
setTitle("My Color Slider Test");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);

//初始化暂存颜色的变量
red=green=blue=256/2;

//sliderPanel
sliderPanel=new JPanel();
sliderPanel.setLayout(new GridLayout(3,1));

//事件监听器
listener=new ChangeListener()
{
public void stateChanged(ChangeEvent event)
{
JSlider slider=(JSlider)event.getSource();
int value=slider.getValue();

//这种算法,我并不是很认同,但又找不到时别的方法了
if(value!=red)
{
red=value;
demoPanel.setBackground(new Color(value,green,blue));
}
else
{
if(value!=green)
{
green=value;
demoPanel.setBackground(new Color(red,value,blue));
}
else
{
blue=value;
demoPanel.setBackground(new Color(red,green,value));
}
}
}
};

//redSlider
JSlider redSlider=new JSlider(0,256,1);
addSlider(redSlider,"red");

//greenSlider
JSlider greenSlider=new JSlider(0,256,1);
addSlider(greenSlider,"green");

//blueSlider
JSlider blueSlider=new JSlider(0,256,1);
addSlider(blueSlider,"blue");
}

//添加Slider
public void addSlider(JSlider s,String description)
{
s.addChangeListener(listener);
JPanel panel=new JPanel();
panel.add(s);
panel.add(new JLabel(description));
sliderPanel.add(panel);
}

private JPanel demoPanel;
private JPanel sliderPanel;
private ChangeListener listener;
private int red,green,blue;

public static final int DEFAULT_WIDTH=400;
public static final int DEFAULT_HEIGHT=400;

}
...全文
1393 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ge_haiming 2007-05-01
  • 打赏
  • 举报
回复
可是我又遇到了新问题,还请你再帮我看看。
我那个小例子的目的是通过red、blue、green三个块来设置Color的三分量,
可是老达不到预期的结果!
//源码



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

public class MyColorSliderTest
{
public static void main(String[] args)
{
MyColorSliderFrame frame=new MyColorSliderFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

/**
MyColorSliderFrame
*/
class MyColorSliderFrame extends JFrame
{
public MyColorSliderFrame()
{
setTitle("My Color Slider Test");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);

//初始化暂存颜色的变量
red=green=blue=256/2;

//sliderPanel
sliderPanel=new JPanel();
sliderPanel.setLayout(new GridLayout(3,1));

//事件监听器
listener=new ChangeListener()
{
public void stateChanged(ChangeEvent event)
{
JSlider slider=(JSlider)event.getSource();
int value=slider.getValue();

//这种算法,我并不是很认同,但又找不到时别的方法
if((value!=red)&&(value==blue)&&(value==green))
{
red=value;
demoPanel.setBackground
(new Color(value,green,blue));
}
else
{
if((value!=green)&&(value==red)
&&(value==blue))
{
green=value;
demoPanel.setBackground
(new Color(red,value,blue));
}
else
{
blue=value;
demoPanel.setBackground
(new Color(red,green,value));
}
}
}
};

//redSlider
JSlider redSlider=new JSlider(0,255,256/2);
addSlider(redSlider,"red");

//greenSlider
JSlider greenSlider=new JSlider(0,255,256/2);
addSlider(greenSlider,"green");

//blueSlider
JSlider blueSlider=new JSlider(0,255,256/2);
addSlider(blueSlider,"blue");

demoPanel=new JPanel();
demoPanel.setBackground(new Color(128,128,128));
add(sliderPanel,BorderLayout.CENTER);
add(demoPanel,BorderLayout.SOUTH);
}

//添加Slider
public void addSlider(JSlider s,String description)
{
s.addChangeListener(listener);
JPanel panel=new JPanel();
panel.add(s);
panel.add(new JLabel(description));
sliderPanel.add(panel);
}

private JPanel demoPanel;
private JPanel sliderPanel;
private ChangeListener listener;
private int red,green,blue;

public static final int DEFAULT_WIDTH=400;
public static final int DEFAULT_HEIGHT=400;

}
ge_haiming 2007-05-01
  • 打赏
  • 举报
回复
谢谢!上次的确是我的机子出了点毛病,在编译时出了问题。
tanlingyun 2007-04-30
  • 打赏
  • 举报
回复
你是不没编译啊,因为错误信息是NoClassDefFoundError,解释器找不到类,只有编译以后才能产生class文件,我帮你编译并运行了一下完全可以,不过只显示出一个窗口.上面什么都没有,呵呵

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧