上一篇
在Java中显示内容可通过控制台输出或图形界面实现,控制台使用System.out.println()打印文本;图形界面可用Swing的JFrame、JLabel或JavaFX的Stage、Label组件创建窗口并显示信息,Web应用则通过JSP、Servlet生成HTML页面展示内容。
在Java中实现”显示”功能需根据应用场景选择不同技术方案,以下是几种常见场景的详细实现方法:
控制台显示(基础输出)
public class ConsoleDisplay {
public static void main(String[] args) {
// 基础文本输出
System.out.println("欢迎访问技术指南"); // 自动换行
// 格式化输出
String product = "Java教程";
int users = 15000;
System.out.printf("产品名称: %s | 用户数量: %,d%n", product, users);
// 错误流输出(红色显示)
System.err.println("️ 警告:操作异常");
}
}
图形界面显示(Swing框架)
import javax.swing.*;
public class GUI_Display {
public static void main(String[] args) {
// 创建主窗口
JFrame frame = new JFrame("数据显示窗口");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建文本标签
JLabel label = new JLabel("动态内容加载中...", SwingConstants.CENTER);
// 创建按钮与交互
JButton btn = new JButton("点击显示");
btn.addActionListener(e -> label.setText("数据更新: " + new java.util.Date()));
// 布局管理
frame.setLayout(new java.awt.BorderLayout());
frame.add(label, BorderLayout.CENTER);
frame.add(btn, BorderLayout.SOUTH);
// 显示窗口
frame.setVisible(true);
}
}
Web应用显示(Servlet+JSP)
Servlet代码:
@WebServlet("/display")
public class WebDisplay extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<String> dataList = Arrays.asList("Java基础", "Spring框架", "微服务架构");
request.setAttribute("techData", dataList);
request.getRequestDispatcher("/display.jsp").forward(request, response);
}
}
JSP页面(display.jsp):

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>技术数据展示</title>
<style>.highlight { color: #e74c3c; font-weight: bold; }</style>
</head>
<body>
<h1>热门技术方向:</h1>
<ul>
<c:forEach items="${techData}" var="tech">
<li class="highlight">${tech}</li>
</c:forEach>
</ul>
<p>更新时间:<%= new java.util.Date() %></p>
</body>
</html>
移动端显示(Android基础)
// MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tvDisplay = findViewById(R.id.textView);
Button btnUpdate = findViewById(R.id.btnUpdate);
btnUpdate.setOnClickListener(v -> {
tvDisplay.setText("当前温度: " + (int)(Math.random()*30) + "℃");
Toast.makeText(this, "数据已刷新", Toast.LENGTH_SHORT).show();
});
}
}
<!-- activity_main.xml -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="初始显示内容"
android:textSize="24sp"/>
<Button
android:id="@+id/btnUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="更新数据"/>
</LinearLayout>
最佳实践建议
-
性能优化:
- 图形界面使用SwingWorker处理耗时操作
- Web应用采用AJAX异步加载
- Android使用ViewModel保存状态
-
安全注意事项:

// 防止XSS攻击(Web场景) String safeOutput = HtmlUtils.htmlEscape(userInput);
-
多语言支持:
# messages.properties welcome.message = 欢迎访问
// 资源绑定 ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.CHINA); System.out.println(bundle.getString("welcome.message"));
场景选择指南
| 场景 | 推荐技术 | 特点说明 |
|---|---|---|
| 命令行工具 | System.out/err | 无需依赖,快速调试 |
| 桌面应用程序 | JavaFX/Swing | 跨平台GUI支持 |
| 企业级Web应用 | JSP/Thymeleaf + Servlet | MVC架构,适合复杂业务逻辑 |
| 移动应用 | Android SDK | 原生移动体验,API集成 |
| 服务端日志 | Log4j/SLF4J | 分级日志管理,支持持久化 |
引用说明:
- Oracle官方Java教程:Java Documentation
- Android开发者指南:Android Developers
- OWASP安全规范:Cross Site Scripting Prevention
- 日志框架参考:Log4j Configuration
根据具体需求选择合适方案,控制台输出适合调试场景,GUI提供用户交互,Web技术实现跨平台访问,Android则专注移动体验,实际开发中建议结合Spring Boot(Web应用)或JavaFX(现代桌面应用)等框架提升效率。

