前提・実現したいこと
Eclipseを使用しjavaで事務演算プログラムを作っています。
プログラムは仕様通り動くのですが、実行を押すと、以下のEclipseからのエラーメッセージが出て解消できません。
Eclipseの操作に詳しい方、エラーメッセージの消し方を教えてください。参考までに、javaの事務演算プログラムのほうも載せます。
発生している問題・エラーメッセージ
Java デバッグ・オプションの初期化" 中に内部エラーが発生しました。 org/eclipse/jdt/internal/debug/core/breakpoints/JavaExceptionBreakpoint$1
該当のソースコード
ここに言語名を入力
java
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class DataPrintable implements Printable{
public static class Klass{
public static String[]branch;
public static String[]itemNo;
public static String[]item;
public static int[][]qty;
}
public void DataGet() { Connection con = null; try { con = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/mydb","sa",""); PreparedStatement pstmt = con.prepareStatement("SELECT * FROM ITEMS"); ResultSet rs2 = pstmt.executeQuery(); int rowCount=0; while(rs2.next()) {rowCount +=1;} System.out.println(rowCount); ResultSet rs = pstmt.executeQuery(); ResultSetMetaData meta = rs.getMetaData(); int i=0; int columnIndex=0; int columnCount = meta.getColumnCount()+1; System.out.println("columnCount="+ columnCount); Klass.branch = new String[columnCount-1]; Klass.itemNo = new String[rowCount]; Klass.item = new String[rowCount]; Klass.qty = new int[rowCount][columnCount]; for(int k= 3;k<columnCount;k++) {Klass.branch[k-3]=meta.getColumnName(k);} System.out.println("branch[0]="+Klass.branch[0]); while(rs.next()) { Klass.itemNo[i] = rs.getString(1); Klass.item[i] = rs.getString(2); for (columnIndex=3;columnIndex<columnCount;columnIndex++){ Klass.qty[i][columnIndex-3] = rs.getInt(columnIndex); } i +=1; } } catch(SQLException e) {e.printStackTrace(); } } @Override public int print(Graphics g,PageFormat pf,int pageIndex) { if (pageIndex > 2) return NO_SUCH_PAGE; Graphics2D g2= (Graphics2D)g; int j = 0; int l = 0; int c2 =0; String itemNow; String itemw; String qtyw; float mmpt = 72/25.4f; System.out.println(pageIndex); g2.setFont(new Font(SANS_SERIF,PLAIN,20)); g2.drawString(Klass.branch[pageIndex]+" 向け 配送商品",35*mmpt,40*mmpt); g2.setFont(new Font(SANS_SERIF,PLAIN,10)); System.out.println("qty[0].length="+Klass.qty[0].length); System.out.println("item.length="+Klass.item.length); for (j=0;j<Klass.qty.length; j++) { if(l==26) {c2=75;} if(l==0 || l==26) {l=0;g2.drawString("品番 商品名 個数",(35+c2)*mmpt,56*mmpt);} if(Klass.qty[j][pageIndex] > 0) { itemNow = Klass.itemNo[j]; itemw = Klass.item[j]; qtyw =String.valueOf(Klass.qty[j][pageIndex]); g2.drawString("□ "+itemNow,(30+c2)*mmpt,(64+8*l)*mmpt); g2.drawString(itemw, (45+c2)*mmpt, (64+8*l)*mmpt); g2.drawString(qtyw, (87+c2)*mmpt, (64+8*l)*mmpt); l +=1; } } return PAGE_EXISTS; } public static void main(String[]args) { try { Class.forName("org.h2.Driver");} catch(ClassNotFoundException e1) { e1.printStackTrace();} Connection con = null; try { DataPrintable dp = new DataPrintable(); dp.DataGet(); PrinterJob pj = PrinterJob.getPrinterJob(); pj.setPrintable(new DataPrintable()); if (pj.printDialog()) { try{pj.print();} catch(PrinterException e) {System.out.println(e);}} } finally { if(con != null) { try { con.close(); }catch(SQLException e) { e.printStackTrace(); } } } }
}コード
ソースコード
試したこと
Eclipseの教本のデバッグの部分付近を読んだが不明。
補足情報(FW/ツールのバージョンなど)
エディター:Eclipse、 OS: Windows10
回答1件
あなたの回答
tips
プレビュー