みなさん、こんにちは。私はJavaの本から練習をしようとしています。私がする必要があるのは線を引くことです。テキストフィールド内で、線の間の距離をどれだけ離す必要があるかを言わなければなりません。これらはすべてループ内にある必要があるため、ハードコードされた行はありません。
私はそれが行われるべきだと思ったようにすべてを作りました、しかし私は私のコンソールでいくつかの奇妙なエラーを受け取ります。エラーコードは次のとおりです。
スレッド"AWT-EventQueue-0"の例外java.lang.NumberFormatException:入力文字列の場合: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)at java.lang.Integer.parseInt(Integer.java: 470)at java.lang.Integer.parseInt(Integer.java:499)at h03.LinePanel.paintComponent(LinePanel.java:30)at javax.swing.JComponent.paint(JComponent.java:1037)atjavax.swing。 JComponent._paintImmediately(JComponent.java:5106)at javax.swing.JComponent.paintImmediately(JComponent.java:4890)at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:812)at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager .java:714)at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:694)atjavax.swing.RepaintManager。access $ 700(RepaintManager.java:41)at javax.swing.RepaintManager $ ProcessingRunnable.run(RepaintManager.java:1672)at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)atjava.awt.EventQueue。 dispatchEventImpl(EventQueue.java:702)at java.awt.EventQueue.access $ 400(EventQueue.java:82)at java.awt.EventQueue $ 2.run(EventQueue.java:663)at java.awt.EventQueue $ 2.run( EventQueue.java:661)at java.security.AccessController.doPrivileged(Native Method)at java.security.AccessControlContext $ 1.doIntersectionPrivilege(AccessControlContext.java:87)at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)のjava.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)のjava。awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)at java.awt.EventDispatchThread.run (EventDispatchThread.java:122)
私はJavaを初めて使用するので、何を間違えたのか、このエラーのトラブルシューティング方法がわからないので、助けていただければ幸いです。これに使用するパネルのコードは
DrawLines lines = new DrawLines();
public void paintComponent(Graphics g) {
super.paintComponent(g);
int positionY = getHeight() - Integer.parseInt(afstand.getText()); // absolut positioning
int yPos = 0;
while(yPos <= positionY) {
lines.drawLines(g, 0, yPos, getWidth(), yPos);
yPos = yPos + Integer.parseInt(afstand.getText());
}
}
public void actionPerformed(ActionEvent e) {
try {
repaint();
}
catch(NumberFormatException err) {
JOptionPane.showMessageDialog(null, "something went wrong! heeft u wel een waarde opgegeven?");
}
}