突然间,对JAVA也找到点感觉了。
书上没有那段代码,我自己修修补补弄完全了呢。。。。
就是感觉体系有点宏大,不要急,慢慢玩~!~~
这个世界很精彩哟~~:
QuizCard.java
package QuizCard.sky.com; public class QuizCard { private String qStr; private String aStr; QuizCard (String s1, String s2) { qStr = s1; aStr = s2; } String getQuestion() { return qStr; } String getAnswer() { return aStr; } }
QuizCardBuilder.java
package QuizCard.sky.com; 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 static void main (String[] args) { QuizCardBuilder builder = new QuizCardBuilder(); builder.go(); } 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.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); 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.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); JButton nextButton = new JButton("Next Card"); cardList = new ArrayList<QuizCard>(); JLabel qLabel = new JLabel("Question:"); JLabel aLabel = new JLabel("Answer:"); 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 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()); } } public class NewMenuListener implements ActionListener { public void actionPerformed(ActionEvent ev) { cardList.clear(); clearCard(); } } 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.getAnswer() + "\n"); } writer.close(); } catch(IOException ex) { System.out.println("couldn't write the cardList out"); ex.printStackTrace(); } } }
QuizCardPlayer.java
package QuizCard.sky.com; import java.util.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class QuizCardPlayer { private JTextArea display; private JTextArea answer; private ArrayList<QuizCard> cardList; private QuizCard currentCard; private int currentCardIndex; private JFrame frame; private JButton nextButton; private boolean isShowAnswer; public static void main(String[] args) { // TODO Auto-generated method stub QuizCardPlayer reader = new QuizCardPlayer(); reader.go(); } public void go() { frame = new JFrame("Quiz Card Player"); JPanel mainPanel = new JPanel(); Font bigFont = new Font("sanserif", Font.BOLD, 24); display = new JTextArea(10, 20); display.setFont(bigFont); display.setLineWrap(true); display.setEditable(false); JScrollPane qScroller = new JScrollPane(display); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); nextButton = new JButton("Show Question"); mainPanel.add(qScroller); mainPanel.add(nextButton); nextButton.addActionListener(new NextCardListener()); JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = new JMenu("File"); JMenuItem loadMenuItem = new JMenuItem("Load card set"); loadMenuItem.addActionListener(new OpenMenuListener()); fileMenu.add(loadMenuItem); menuBar.add(fileMenu); frame.setJMenuBar(menuBar); frame.getContentPane().add(BorderLayout.CENTER, mainPanel); frame.setSize(640, 500); frame.setVisible(true); } public class NextCardListener implements ActionListener { public void actionPerformed(ActionEvent ev) { if (isShowAnswer){ display.setText(currentCard.getAnswer()); nextButton.setText("Next Card"); isShowAnswer = false; } else { if (currentCardIndex < cardList.size()) { showNextCard(); } else { display.setText("That was last card"); nextButton.setEnabled(false); } } } } public class OpenMenuListener implements ActionListener { public void actionPerformed(ActionEvent ev) { JFileChooser fileOpen = new JFileChooser(); fileOpen.showOpenDialog(frame); loadFile(fileOpen.getSelectedFile()); } } private void loadFile(File file) { cardList = new ArrayList<QuizCard>(); try { BufferedReader reader = new BufferedReader(new FileReader(file)); String line = null; while ((line = reader.readLine()) != null) { makeCard(line); } reader.close(); } catch (Exception ex) { System.out.println("couldn't read the card file"); ex.printStackTrace(); } } private void makeCard(String lineToParse) { String[] result = lineToParse.split("/"); QuizCard card = new QuizCard(result[0], result[1]); cardList.add(card); System.out.println("made a card"); } private void showNextCard() { currentCard = cardList.get(currentCardIndex); currentCardIndex++; display.setText("Show Answer"); isShowAnswer = true; } }
突然间,对JAVA也找到点感觉了。的更多相关文章
- 记一次解决cmd中执行java提示"找不到或无法加载主类"的问题
今天遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和clas ...
- Java 错误: 找不到或无法加载主类,问题集合
正确编译命令: javac Hello.java 正确运行命令: java Hello 错误1:H:\code>java Hello.java 错误: 找不到或无法加载主类 Hello. ...
- 编译和运行java文件 找不到或无法加载主类
这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法. 例如程序名为HelloWorldTest. ...
- 【maven】【IDEA】idea中使用maven编译项目,报错java: 错误: 找不到符号 【2】
=================================================================================== idea中使用maven编译项目 ...
- Java 学习(1)----- java 学习的总体感觉
好久没有更新博客了,是因为最近在集中精力学习java, Java 的基础知识确实是比 js 多太多了. 学习java 断断续续的差不多有一年左右的时间, 这一年来,感觉懂了一点,过一段时间又忘记了,总 ...
- 学Java,找对圈子,跟对人
我大学学的是机械专业,到大四才决定要学Java,以后当一名程序员. 到现在,十几年过去了,我现在已经是一家上市公司的技术总监了,管理的技术团队有100多人.很庆幸当初了选择了学Java. 还记得当初学 ...
- 没有R.java问题找不到getActionBar()方法
android项目,可是项目中没有重要的R.java,并且报错,说是找不到getActionBar()方法,上网寻找原因,终于寻得解决方法: 1.解决项目中没有R.java问题.在Eclipse ...
- java 错误:找不到或无法加载主类的解决办法
此类错误的常见解决办法: 1.是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> ...
- 声明了包的类Java命令找不到或无法加载主类
首先你需要配置环境变量: CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar java 命令会在 CLASSPATH 目录下找相应 ...
随机推荐
- PHP学习之[第08讲]数据库MySQL基础之增删改查
一.工具: 1.phpMyAdmin (http://www.phpmyadmin.net/) 2.Navicat (http://www.navicat.com/) 3.MySQL GUI Tool ...
- Lucene多字段搜索
最近在学习Lucene的过程中遇到了需要多域搜索并排序的问题,在网上找了找,资料不是很多,现在都列出来,又需要的可以自己认真看看,都是从其他网站粘贴过来的,所以比较乱,感谢原创的作者们! 使用 ...
- [PWA] 6. Hijacking response
For example, if the url is not match to any API endpoint, we want to return 404 error message. So fi ...
- Android(java)学习笔记240:多媒体之图形颜色的变化
1.相信大家都用过美图秀秀中如下的功能,调整颜色: 2. 下面通过案例说明Android中如何调色: 颜色矩阵 ColorMatrix cm = new ColorMatrix(); paint.se ...
- IE8-下背景色半透明滤镜在jquery动画中失效问题记录
前两天,UIer跟我说,把这些按钮都悬浮在这个图片上!我心中千万头草泥马奔过,图片各种各样.花花绿绿.五颜六色的,这几个按钮也没有多大的光环围绕,用户一眼看上去恐怕会以为这是图片的一部分吧!~~~我假 ...
- composer之安装
最近想要学习下yii框架,所以,就看了下官网,看到了貌似比较依赖composer这个东西,然后我就安装了,但是会有问题,安装不上等等问题,不论是windows还是linux命令行安装,都是因为一个问题 ...
- Activity对话框
对话框Activity style 在style.xml中加入 <!--对话框风格--> <style name="dialog" parent="@a ...
- 一些css小用法总结(持续更新~)
1.用:before和:after实现小尖角效果 <div class="div"></div> .div{ background: #fff; borde ...
- 7——使用TextView实现跑马灯
首先给TextView添加一个单行限制: android:singleLine="true" - 解决方案一 更改TextView的一个属性: android:ellipsize= ...
- c#求slope线性回归斜率
public class mySlope { // public List<double> Values { get; set; } public double SlopeResult { ...