下面通過(guò)一個(gè)例子來(lái)說(shuō)明,這個(gè)例子包括2個(gè)java文件和一個(gè)mf文件:
文件1:frame1.java
package testjar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class frame1 extends jframe {
jpanel contentpane;
borderlayout borderlayout1 = new borderlayout();
//construct the frame
public frame1() {
enableevents(awtevent.window_event_mask);
try {
jbinit();
}
catch(exception e) {
e.printstacktrace();
}
}
//component initialization
private void jbinit() throws exception {
contentpane = (jpanel) this.getcontentpane();
contentpane.setlayout(borderlayout1);
this.setsize(new dimension(400, 300));
this.settitle("frame title");
}
//overridden so we can exit when window is closed
protected void processwindowevent(windowevent e) {
super.processwindowevent(e);
if (e.getid() == windowevent.window_closing) {
system.exit(0);
}
}
}
文件2:app.java
package testjar;
import javax.swing.uimanager;
import java.awt.*;
public class app {
boolean packframe = false;
//construct the application
public app() {
frame1 frame = new frame1();
//validate frames that have preset sizes
//pack frames that have useful preferred size info, e.g. from their layout
if (packframe) {
frame.pack();
}
else {
frame.validate();
}
//center the window
dimension screensize = toolkit.getdefaulttoolkit().getscreensize();
dimension framesize = frame.getsize();
if (framesize.height > screensize.height) {
framesize.height = screensize.height;
}
if (framesize.width > screensize.width) {
framesize.width = screensize.width;
}
frame.setlocation((screensize.width - framesize.width) / 2, (screensize.height - framesize.height) / 2);
frame.setvisible(true);
}
//main method
public static void main(string[] args) {
try {
uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname());
}
catch(exception e) {
e.printstacktrace();
}
new app();
}
}
文件3:manif.mf
main-class: testjar.app
復(fù)制上述的三個(gè)文件到一個(gè)目錄中,用命令行進(jìn)入這個(gè)目錄并執(zhí)行 javac -d . *.java,此時(shí)會(huì)編譯生成class文件,然后執(zhí)行 jar -cvfm te.jar manif.mf testjar,應(yīng)該回生成一個(gè)名為te.jar的jar文件,雙擊它,就可以看到效果了!
新聞熱點(diǎn)
疑難解答
圖片精選