我做了一个脚本来读取excel文件,它是没有问题的IDEA IDK或cmd上运行的java -jar script.jar
。
然而,当我使用exe4j来传输EXE文件时,它会报告如下错误:
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at org.apache.poi.ss.util.CellReference.<init>(CellReference.java:109)
at org.apache.poi.xssf.usermodel.XSSFCell.<init>(XSSFCell.java:117)
at org.apache.poi.xssf.usermodel.XSSFRow.<init>(XSSFRow.java:74)
at org.apache.poi.xssf.usermodel.XSSFSheet.initRows(XSSFSheet.java:270)
at org.apache.poi.xssf.usermodel.XSSFSheet.read(XSSFSheet.java:233)
at org.apache.poi.xssf.usermodel.XSSFSheet.onDocumentRead(XSSFSheet.java:220)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.parseSheet(XSSFWorkbook.java:452)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead(XSSFWorkbook.java:417)
at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:184)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:286)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:307)
at proect.Util.Excel_Util.readDataSet(Excel_Util.java:90)
at proect.Util.Excel_Util.dealDataset(Excel_Util.java:54)
at proect.Main.<init>(Main.java:58)
at proect.Main$10.run(Main.java:578)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.nio.charset.UnsupportedCharsetException: Big5
at java.base/java.nio.charset.Charset.forName(Charset.java:527)
at org.apache.poi.util.StringUtil.<clinit>(StringUtil.java:39)
... 28 more
D1.excel是要读取的文件。excel代码如下所示:
@SuppressWarnings("resource")
public static void readDataSet(String filePath){
InputStream in;
DataFormatter formatter = new DataFormatter();
try{
Excel_Util eu = new Excel_Util();
ClassLoader cl = eu.getClass().getClassLoader();
in = cl.getResourceAsStream("D1.xlsx");
//input = new FileInputStream(filePath);
XSSFWorkbook book = new XSSFWorkbook(in);
XSSFSheet sheet = book.getSheetAt(0);
XSSFRow row;
for(int i=sheet.getFirstRowNum()+1;i<sheet.getPhysicalNumberOfRows();++i){
row = sheet.getRow(i);
Scheme_No_Column.add(row.getCell(0).getStringCellValue());
Pv_Capacity_Column.add(row.getCell(1).getStringCellValue());
Device_No_Column.add(row.getCell(2).getStringCellValue());
Power_Column.add(formatter.formatCellValue(sheet.getRow(i).getCell(3)));
}
}catch(FileNotFoundException IOE){
System.out.println("文件不在正确的位置(the file is not found in the location)");
}catch(IOException IOE){
System.out.println("Excel的文件内容不正确(the content of the excel is not correct)");
}
}
awt代码如下:
package proect;
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
import javax.swing.*;
import java.awt.*;
/**
*
* @author Lenovo
*/
import proect.Util.Excel_Util;
import proect.Util.Regular_Match_Engine;
import java.awt.*;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.border.Border;
import proect.PV.Devices;
import proect.PV.PV_Modules;
public class Main extends javax.swing.JFrame {
/**
* Creates new form Home
*/
//private static boolean loop = true;
private static int case_=2;
JFrame frame_1 = new JFrame();
JProgressBar bar = new JProgressBar();
Excel_Util excel = new Excel_Util();
PV_Modules pv = new PV_Modules();
ArrayList<Devices> List = new ArrayList();
Regular_Match_Engine RME = new Regular_Match_Engine();
public Main() {
//handle data
List = excel.dealDataset("./src/main/java/proect/dataset/D1.xlsx");
List = pv.mergeDevices(List);
//TextAreaOutputStream st = new TextAreaOutputStream(jTextArea1,"output");
//
//Begin_frame_1();
//frame_1.dispose();
ClassLoader cl = this.getClass().getClassLoader();
String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
this.setTitle("光伏型号筛选脚本");
ImageIcon image = new ImageIcon(path+"/petro.png");
this.setIconImage(image.getImage());
initComponents();
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
bg = new javax.swing.JPanel();
sidepane = new javax.swing.JPanel();
btn_search = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
btn_exit = new javax.swing.JPanel();
jLabel6 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jSeparator1 = new javax.swing.JSeparator();
btn_pv1 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jLabel7 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel10 = new javax.swing.JLabel();
jButton2 = new javax.swing.JButton();
jLabel8 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
bg.setBackground(new java.awt.Color(255, 255, 255));
sidepane.setBackground(new java.awt.Color(54, 33, 89));
sidepane.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
btn_search.setBackground(new java.awt.Color(64, 43, 100));
btn_search.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
btn_searchMousePressed(evt);
}
});
jLabel2.setFont(new java.awt.Font("Microsoft YaHei UI Light", 1, 12)); // NOI18N
jLabel2.setForeground(new java.awt.Color(204, 204, 204));
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("1. 简单全局搜索");
jLabel2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel2MouseClicked(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) {
jLabel2MousePressed(evt);
}
});
javax.swing.GroupLayout btn_searchLayout = new javax.swing.GroupLayout(btn_search);
btn_search.setLayout(btn_searchLayout);
btn_searchLayout.setHorizontalGroup(
btn_searchLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(btn_searchLayout.createSequentialGroup()
.addGap(71, 71, 71)
.addComponent(jLabel2)
.addContainerGap(83, Short.MAX_VALUE))
);
btn_searchLayout.setVerticalGroup(
btn_searchLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(btn_searchLayout.createSequentialGroup()
.addGap(43, 43, 43)
.addComponent(jLabel2)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
sidepane.add(btn_search, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 180, 240, 60));
jPanel3.setBackground(new java.awt.Color(85, 65, 118));
jPanel3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
jPanel3MousePressed(evt);
}
});
jLabel4.setFont(new java.awt.Font("Microsoft YaHei UI Light", 1, 12)); // NOI18N
jLabel4.setForeground(new java.awt.Color(204, 204, 204));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel4.setText("欢迎来到筛选脚本");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(75, 75, 75)
.addComponent(jLabel4)
.addContainerGap(66, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(41, 41, 41)
.addComponent(jLabel4)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
sidepane.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 120, 240, 60));
btn_exit.setBackground(new java.awt.Color(64, 43, 100));
btn_exit.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
btn_exitMousePressed(evt);
}
});
jLabel6.setFont(new java.awt.Font("Microsoft YaHei UI Light", 1, 12)); // NOI18N
jLabel6.setForeground(new java.awt.Color(204, 204, 204));
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel6.setText("3. 离开脚本");
jLabel6.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel6MouseClicked(evt);
}
});
javax.swing.GroupLayout btn_exitLayout = new javax.swing.GroupLayout(btn_exit);
btn_exit.setLayout(btn_exitLayout);
btn_exitLayout.setHorizontalGroup(
btn_exitLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(btn_exitLayout.createSequentialGroup()
.addGap(71, 71, 71)
.addComponent(jLabel6)
.addContainerGap(106, Short.MAX_VALUE))
);
btn_exitLayout.setVerticalGroup(
btn_exitLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(btn_exitLayout.createSequentialGroup()
.addGap(42, 42, 42)
.addComponent(jLabel6)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
sidepane.add(btn_exit, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 310, 240, 60));
jLabel9.setFont(new java.awt.Font("Mistral", 1, 24)); // NOI18N
jLabel9.setForeground(new java.awt.Color(204, 204, 204));
jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel9.setText("KeepToo");
sidepane.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 20, -1, -1));
sidepane.add(jSeparator1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 190, 10));
btn_pv1.setBackground(new java.awt.Color(64, 43, 100));
btn_pv1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
btn_pv1MouseClicked(evt);
}
});
jLabel11.setFont(new java.awt.Font("Microsoft YaHei UI Light", 1, 12)); // NOI18N
jLabel11.setForeground(new java.awt.Color(204, 204, 204));
jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel11.setText("2. 光伏设备容量查询");
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) {
jLabel11MousePressed(evt);
}
});
javax.swing.GroupLayout btn_pv1Layout = new javax.swing.GroupLayout(btn_pv1);
btn_pv1.setLayout(btn_pv1Layout);
btn_pv1Layout.setHorizontalGroup(
btn_pv1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(btn_pv1Layout.createSequentialGroup()
.addGap(69, 69, 69)
.addComponent(jLabel11)
.addContainerGap(65, Short.MAX_VALUE))
);
btn_pv1Layout.setVerticalGroup(
btn_pv1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(btn_pv1Layout.createSequentialGroup()
.addGap(47, 47, 47)
.addComponent(jLabel11)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
sidepane.add(btn_pv1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 240, -1, 70));
jPanel1.setBackground(new java.awt.Color(110, 89, 222));
jLabel7.setFont(new java.awt.Font("Microsoft YaHei UI Light", 1, 14)); // NOI18N
jLabel7.setForeground(new java.awt.Color(204, 204, 204));
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel7.setText("管理系统");
jTextField1.setText("输入光伏容量((kWp))...");
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jLabel10.setFont(new java.awt.Font("Microsoft YaHei UI Light", 0, 18)); // NOI18N
jLabel10.setForeground(new java.awt.Color(255, 255, 255));
jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel10.setText("请输入关键词:__________________________________________");
jButton2.setText("确认");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(65, 65, 65)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 403, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel7)
.addGap(111, 111, 111)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel10))
.addContainerGap(87, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 27, Short.MAX_VALUE)
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2)))
);
jLabel8.setFont(new java.awt.Font("Microsoft YaHei UI Light", 0, 18)); // NOI18N
jLabel8.setForeground(new java.awt.Color(0, 0, 255));
jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel8.setText("搜索结果如下:");
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane2.setViewportView(jTextArea1);
javax.swing.GroupLayout bgLayout = new javax.swing.GroupLayout(bg);
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(sidepane, javax.swing.GroupLayout.PREFERRED_SIZE, 234, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addGap(12, 12, 12)
.addComponent(jLabel8))
.addGroup(bgLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(bgLayout.createSequentialGroup()
.addGap(30, 30, 30)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 526, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(sidepane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
.addGroup(bgLayout.createSequentialGroup()
.addGap(47, 47, 47)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 35, Short.MAX_VALUE)
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jLabel11MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel11MousePressed
// TODO add your handling code here:
resetColor(btn_search);
resetColor(btn_exit);
setColor(btn_pv1);
}//GEN-LAST:event_jLabel11MousePressed
private void jPanel3MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel3MousePressed
// TODO add your handling code here:
}//GEN-LAST:event_jPanel3MousePressed
private void btn_searchMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btn_searchMousePressed
// TODO add your handling code here:
setColor(btn_search);
resetColor(btn_exit);
resetColor(btn_pv1);
}//GEN-LAST:event_btn_searchMousePressed
private void btn_exitMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btn_exitMousePressed
// TODO add your handling code here:
resetColor(btn_search);
setColor(btn_exit);
resetColor(btn_pv1);
}//GEN-LAST:event_btn_exitMousePressed
private void jLabel2MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel2MousePressed
// TODO add your handling code here:
}//GEN-LAST:event_jLabel2MousePressed
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jTextField1ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
if(case_==1){
String searchContent = jTextField1.getText();
RME.Text_matching(List, searchContent);
jTextArea1.setText(""+RME.getString());
RME.clear();
}else if(case_==2){
String searchContent = jTextField1.getText();
RME.Pv_Capacity_matching(List, searchContent);
jTextArea1.setText(""+RME.getString());
RME.clear();
}
// TODO add your handling code here:
}//GEN-LAST:event_jButton2ActionPerformed
//点击选项1
private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel2MouseClicked
case_=1;
jTextField1.setText("输入关键词");
// TODO add your handling code here:
}//GEN-LAST:event_jLabel2MouseClicked
private void btn_pv1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btn_pv1MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_btn_pv1MouseClicked
private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel11MouseClicked
case_=2;
jTextField1.setText("输入光伏容量(kWp)");
}//GEN-LAST:event_jLabel11MouseClicked
private void jLabel6MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel6MouseClicked
System.exit(0); // TODO add your handling code here:
}//GEN-LAST:event_jLabel6MouseClicked
void setColor(JPanel panel){
panel.setBackground(new Color(85,65,118));
}
void resetColor(JPanel panel){
panel.setBackground(new Color(63,43,100));
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel bg;
private javax.swing.JPanel btn_exit;
private javax.swing.JPanel btn_pv1;
private javax.swing.JPanel btn_search;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JPanel sidepane;
// End of variables declaration//GEN-END:variables
}
我不明白为什么在从***.java*转换到***.exe**的时候会报错。有人能帮我吗,谢谢。
1条答案
按热度按时间gfttwv5a1#
我已经解决了这个问题,感谢XtremeBaumer和Gagravarr。
原因:因为JVM不支持Character,我创建了这样一个转换器,它可以在使用独占字符时调用可用的字符集。
方法:首先在META-INF/services文件夹中创建一个名为java.nio.charset.spi.CharsetProvider的文件,然后在project文件夹中创建ChineseCharsetProvider.java。