java - 利用基本的 Java 知识,以及下一步该怎么做

标签 java swing graphics

<分区>

我几乎读完了 Herbert Schildt 的整本书《Java - 初学者指南》(我跳过了关于多线程、applet 和 Swing 的更复杂的章节)。所以我熟悉Java的基础知识,即编写类、继承和接口(interface)。

我目前面临的问题是我无法找到练习 Java 编程的方法(光看书是不够的),因为我只使用控制台。感觉我有能力编写半正经的复杂程序,但没有用:例如,我有能力创建像 John Conway 的“生命游戏”这样的程序,但由于我没有显示图形的窗口我不能通过编写这些程序来练习 Java。

因此我的问题是:

  • 我需要在开始练习之前再花几个小时学习图形,还是有更好(即更有效)的方法?

  • 如果上述问题的答案是“否”(即我不需要学习图形),那么我应该学习 Java 的下一章是什么?小程序? Swing ?多线程?

最佳答案

Swing 对于基本的 GUI 应用程序很有用。那里有更复杂的解决方案,但 Swing 是一个不错的起点。

最终要拥有一个响应式 GUI,您将需要了解多线程,但如果您仍在学习,则无需多线程也能过得去。如果没有多线程,您的 GUI 将在您的程序执行后台工作时出现“挂起”。对于初学者学习来说没什么大不了的,但多线程应该是您开始使用 GUI 后的下一步。

此外,您可以在不编写 GUI 的情况下进行大量练习,简单的基于命令行的程序可以教很多东西,这是我记得在大学所做的绝大部分工作。我们确实用 Swing 编写了生活游戏,但除此之外我们还做了很多。例如,我们实现了合并排序,它会打印未排序的数组,完成工作,然后打印已排序的数组。不需要 GUI,但学到了很多东西。我们还做了像 DVD 库(显示我的年龄)这样的东西,它接受来自命令行的输入并将数据存储在一个简单的文本文件中以供以后检索(有一些你希望它如何排序的选项)。这些都是微不足道的例子,但希望您能从中看出有很多选择。

关于java - 利用基本的 Java 知识,以及下一步该怎么做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31998048/

相关文章:

java - 从 char 转换为 int

java - 使用 getImage 加载图像

java - JTable 单元格编辑器仅接受数字

swing - JTabbedPane 上的 Firefox 'Open new tab'

java - 数字定时器帮助停止定时器和用户输入

c++ - 在 QGraphicsView/QGraphicsScene 上用鼠标移动项目

ios - 重叠不同颜色和 Alpha 的 UIView

java - 我的 Discord 机器人有一个没有错误的 Java 代码。但我的机器人仍然离线

java - 在 Android 中向下滚动 RecyclerView

java - 如何定义自定义源集而不在 Gradle 中显式定义它的路径?