DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lixuan123
今日帖子: 0
在线用户: 4
导航: 论坛 -> 网络通讯 斑竹:liumazi,sephil  
作者:
男 qingyun (qingyun) ★☆☆☆☆ -
盒子活跃会员
2004/3/1 1:10:43
标题:
急!生成的jar文件老是报错,找不到原因(java问题) 浏览:2088
加入我的收藏
楼主: 源文件:
E:\test\abc\SliderDemo1.java
===============================
pckage abc;
import javax.swing.*;//ChangeEvent事件是属于Swing事件,若要处理此事件必须将import swing的event package进来.
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;

public class SliderDemo1 implements ChangeListener
{
   JFrame f = null;
   JSlider slider1;
   JSlider slider2;
   JSlider slider3;
   JLabel label1;
   JLabel label2;
   JLabel label3;
   
   public SliderDemo1()                           
   {
       f = new JFrame("JSlider Example");
       Container contentPane = f.getContentPane();
       
       JPanel panel1 = new JPanel();
       panel1.setLayout(new GridLayout(2,1));
       slider1 = new JSlider();//建立一个默认的JSlider组件.
       label1 = new JLabel("目前刻度:"+slider1.getValue());
       panel1.add(label1);
       panel1.add(slider1);
       panel1.setBorder(BorderFactory.createTitledBorder(
       BorderFactory.createEtchedBorder(),"Slider 1",TitledBorder.LEFT,
       TitledBorder.TOP));
       
       JPanel panel2 = new JPanel();
       panel2.setLayout(new GridLayout(2,1));
       /*下面五行程序建立一个水平方向的JSlider组件,并设置其取大值,最小值,初始值与延伸区值,所谓的延伸区值我们在前面
        *JScrollBar中也提到过,意思是限制JSlider刻度可变动的范围,也就是说延伸区就像是一个障碍区,是无法通行的.延伸区
        *设得越大,刻度可变动的范围就越小.例如若minimum值设为0,maximan值设为100,而extent值设为0,则JSlider刻度可变动
        *的区域大小为100-50-0=50刻度(从0-50).
        */
       slider2 = new JSlider(JSlider.HORIZONTAL);
       slider2.setMinimum(0);
       slider2.setMaximum(100);
       slider2.setValue(30);
       slider2.setExtent(50);
       label2 = new JLabel("目前刻度:"+slider2.getValue());
       panel2.add(label2);
       panel2.add(slider2);
       panel2.setBorder(BorderFactory.createTitledBorder(
       BorderFactory.createEtchedBorder(),"Slider 2",TitledBorder.LEFT,
       TitledBorder.TOP));
       
       JPanel panel3 = new JPanel();
       panel3.setLayout(new GridLayout(2,1));
       //下面两行建立一个具有最大最小值的JSlider组件,并设置此JSlider组件为垂直方向.
       slider3 = new JSlider(20,80);
       slider3.setOrientation(JSlider.VERTICAL);
       label3 = new JLabel("目前刻度:"+slider3.getValue());
       panel3.add(label3);
       panel3.add(slider3);
       panel3.setBorder(BorderFactory.createTitledBorder(
       BorderFactory.createEtchedBorder(),"Slider 3",TitledBorder.LEFT,
       TitledBorder.TOP));
       
       slider1.addChangeListener(this);
       slider2.addChangeListener(this);
       slider3.addChangeListener(this);
       
       panel1.setPreferredSize(new Dimension(300,100));
       panel2.setPreferredSize(new Dimension(300,100));
       panel3.setPreferredSize(new Dimension(150,200));
       
       GridBagConstraints c;
       int gridx,gridy,gridwidth,
           gridheight,anchor,fill,ipadx,ipady;
       double weightx,weighty;
       Insets inset;     
       
       GridBagLayout gridbag = new GridBagLayout();
       contentPane.setLayout(gridbag);
       
       gridx=0;               //第0行
               gridy=0;               //第0列
               gridwidth = 2;         //占两单位宽度
               gridheight = 1;        //占一单位高度
               weightx = 0;           //窗口增大时组件宽度增大比率0
               weighty = 0;           //窗口增大时组件高度增大比率0
               anchor = GridBagConstraints.CENTER; //容器大于组件size时将组件
             //置于容器中央
               fill = GridBagConstraints.BOTH;     //窗口拉大时会填满水平与垂
             //直空间
               inset = new Insets(0,0,0,0);        //组件间间距
               ipadx = 0;                          //组件内水平宽度
               ipady = 0;                          //组件内垂直高度
       c = new GridBagConstraints(gridx,gridy,gridwidth,gridheight,
           weightx,weighty,anchor,fill,inset,ipadx,ipady);
       gridbag.setConstraints(panel1,c);
       contentPane.add(panel1); 
       
       gridx=0;
       gridy=1;
       c = new GridBagConstraints(gridx,gridy,gridwidth,gridheight,
           weightx,weighty,anchor,fill,inset,ipadx,ipady);
       gridbag.setConstraints(panel2,c);
       contentPane.add(panel2);
       
       gridx=2;
       gridy=0;
       gridwidth = 1;         //占一单位宽度
       gridheight = 2;        //占两单位高度
       c = new GridBagConstraints(gridx,gridy,gridwidth,gridheight,
           weightx,weighty,anchor,fill,inset,ipadx,ipady);
       gridbag.setConstraints(panel3,c);
       contentPane.add(panel3);
       
       f.pack();
       f.setVisible(true);
       
       f.addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent e) {
               System.exit(0);
           }
       });
   }
   
   public static void main(String[] args)
   {
       new SliderDemo1();
   }
   //处理ChangeEvent事件,当用户移动滑动杆时,label上的值会随着用户的移动而改变.
   public void stateChanged(ChangeEvent e)
   {
       if ((JSlider)e.getSource() == slider1)
           label1.setText("目前刻度:"+slider1.getValue());
       if ((JSlider)e.getSource() == slider2)
           label2.setText("目前刻度:"+slider2.getValue());
       if ((JSlider)e.getSource() == slider3)
           label3.setText("目前刻度:"+slider3.getValue());
   }
}
======================================================
我用:
E:\JBuilder8\jdk1.4\bin\javac  e:\test\abc\SliderDemo1.java
编译,编译成功!
生成
E:\test\abc\SliderDemo1.class
文件

我用 
E:\JBuilder8\jdk1.4\bin\javaw -classpath  e:\test     abc.SliderDemo1
执行程序,程序能够正常运行!

问题关键是如何才能生成jar文件:
我的方法是:
1、建立 E:\test\abc\manifest.mf 文件
文件的内容是:Main-Class: abc.SliderDemo1
2、我用
E:\JBuilder8\jdk1.4\bin\jar   cvfm  e:\test\abc\SliderDemo1.jar e:\test\abc\manifest.mf e:\test\abc\SliderDemo1
生成了e:\test\abc\SliderDemo1.jar 文件
当时我非常高兴,因为只要点击e:\test\abc\SliderDemo1.jar 这个文件,就可以看到程序运行效果,可是程序没有跑起来,提示:
按此在新窗口浏览图片

我真不知道我哪里设置错了。请熟悉java的朋友帮我找出错误!

 
>>>所有相关文件下载(SliderDemo1.java , SliderDemo1.class ,SliderDemo1.jar)<<<
----------------------------------------------
青云论坛
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行89.84375毫秒 RSS