大佬们,求救啊啊啊啊,这个IllegalArgumentException异常如何处理!!!

KoXeng 2020-01-18 09:23:56
import java.util.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class QuizCardBuilder { private JTextArea question; private JTextArea answer; private ArrayList<QuizCard> cardList; private JFrame frame; public void go() { frame=new JFrame("Quiz Card Builder"); JPanel mainPanel=new JPanel(); Font bigFont =new Font("sanserif",Font.BOLD,24); question =new JTextArea(6,20); question.setLineWrap(true); question.setWrapStyleWord(true); question.setFont(bigFont); JScrollPane qScroller=new JScrollPane(question); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); answer =new JTextArea(6,20); answer =new JTextArea(6,20); answer.setLineWrap(true); answer.setWrapStyleWord(true); answer.setFont(bigFont); JScrollPane aScroller=new JScrollPane(answer); aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); JButton nextButton=new JButton("Next Card"); cardList=new ArrayList<QuizCard>(); JLabel qLabel=new JLabel("Question"); JLabel aLabel=new JLabel("Anwser"); mainPanel.add(qLabel); mainPanel.add(qScroller); mainPanel.add(aLabel); mainPanel.add(aScroller); mainPanel.add(nextButton); nextButton.addActionListener(new NextCardListener()); JMenuBar menuBar=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenuItem newMenuItem=new JMenuItem("New"); JMenuItem saveMenuItem=new JMenuItem("Save"); newMenuItem.addActionListener(new NewMenuListener()); saveMenuItem.addActionListener(new SaveMenuListener()); fileMenu.add(newMenuItem); fileMenu.add(saveMenuItem); menuBar.add(fileMenu); frame.setJMenuBar(menuBar); frame.getContentPane().add(BorderLayout.CENTER,mainPanel); frame.setSize(500,600); frame.setVisible(true); } public class NextCardListener implements ActionListener{ public void actionPerformed(ActionEvent ev) { QuizCard card =new QuizCard(question.getText(),answer.getText()); cardList.add(card); clearCard(); } } public class NewMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev) { cardList.clear(); clearCard(); } } public class SaveMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev) { QuizCard card =new QuizCard(question.getText(),answer.getText()); cardList.add(card); JFileChooser fileSave =new JFileChooser(); fileSave.showSaveDialog(frame); saveFile(fileSave.getSelectedFile()); } } private void clearCard() { question.setText(""); answer.setText(""); question.requestFocus(); } private void saveFile(File file) { try { BufferedWriter writer=new BufferedWriter(new FileWriter (file)); for(QuizCard card:cardList) { writer.write(card.getQuestion()+"/"); writer.write(card.getQuestion()+"\n"); } writer.close(); }catch(IOException ex) { System.out.println("could't write the cardLIst out"); ex.printStackTrace(); } } public static void main(String[] args) { QuizCardBuilder builder=new QuizCardBuilder(); builder.go(); } public class QuizCard{ private int question; private int answer; public QuizCard(String text, String text2) { } public int getQuestion() { int a; a= question; return a; } public int getAnswer() { int b; b=answer; return b; } } }
...全文
608 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2020-01-19
  • 打赏
  • 举报
回复
引用 楼主 KoXeng 的回复:
import java.util.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class QuizCardBuilder { private JTextArea question; private JTextArea answer; private ArrayList<QuizCard> cardList; private JFrame frame; public void go() { frame=new JFrame("Quiz Card Builder"); JPanel mainPanel=new JPanel(); Font bigFont =new Font("sanserif",Font.BOLD,24); question =new JTextArea(6,20); question.setLineWrap(true); question.setWrapStyleWord(true); question.setFont(bigFont); JScrollPane qScroller=new JScrollPane(question); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); answer =new JTextArea(6,20); answer =new JTextArea(6,20); answer.setLineWrap(true); answer.setWrapStyleWord(true); answer.setFont(bigFont); JScrollPane aScroller=new JScrollPane(answer); aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); JButton nextButton=new JButton("Next Card"); cardList=new ArrayList<QuizCard>(); JLabel qLabel=new JLabel("Question"); JLabel aLabel=new JLabel("Anwser"); mainPanel.add(qLabel); mainPanel.add(qScroller); mainPanel.add(aLabel); mainPanel.add(aScroller); mainPanel.add(nextButton); nextButton.addActionListener(new NextCardListener()); JMenuBar menuBar=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenuItem newMenuItem=new JMenuItem("New"); JMenuItem saveMenuItem=new JMenuItem("Save"); newMenuItem.addActionListener(new NewMenuListener()); saveMenuItem.addActionListener(new SaveMenuListener()); fileMenu.add(newMenuItem); fileMenu.add(saveMenuItem); menuBar.add(fileMenu); frame.setJMenuBar(menuBar); frame.getContentPane().add(BorderLayout.CENTER,mainPanel); frame.setSize(500,600); frame.setVisible(true); } public class NextCardListener implements ActionListener{ public void actionPerformed(ActionEvent ev) { QuizCard card =new QuizCard(question.getText(),answer.getText()); cardList.add(card); clearCard(); } } public class NewMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev) { cardList.clear(); clearCard(); } } public class SaveMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev) { QuizCard card =new QuizCard(question.getText(),answer.getText()); cardList.add(card); JFileChooser fileSave =new JFileChooser(); fileSave.showSaveDialog(frame); saveFile(fileSave.getSelectedFile()); } } private void clearCard() { question.setText(""); answer.setText(""); question.requestFocus(); } private void saveFile(File file) { try { BufferedWriter writer=new BufferedWriter(new FileWriter (file)); for(QuizCard card:cardList) { writer.write(card.getQuestion()+"/"); writer.write(card.getQuestion()+"\n"); } writer.close(); }catch(IOException ex) { System.out.println("could't write the cardLIst out"); ex.printStackTrace(); } } public static void main(String[] args) { QuizCardBuilder builder=new QuizCardBuilder(); builder.go(); } public class QuizCard{ private int question; private int answer; public QuizCard(String text, String text2) { } public int getQuestion() { int a; a= question; return a; } public int getAnswer() { int b; b=answer; return b; } } }
你在setVerticalScrollBarPolicy设定HORIZONTAL_SCROLLBAR_NEVER肯定报错啊! 要用setHorizontalScrollBarPolicy
三仙半 2020-01-19
  • 打赏
  • 举报
回复
上面写的稍微有点问题,关键是你在qScroller和aScroller的滚动条设置存在相同的问题,嘿嘿
三仙半 2020-01-19
  • 打赏
  • 举报
回复
你的代码中有如下3行

JScrollPane aScroller=new JScrollPane(answer);
aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

我估计第3行你是要设置水平滚动条,但是,你调用的方法是设置垂直滚动条,将它改为下面代码就好了

qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧