[英]Dynamic web project displaying the java code on browser?
我正在eclipse中创建动态Web项目。 现在以下是我的java类
package com;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class FirstProject extends JPanel {
private Map<Color, Integer> bars = new LinkedHashMap<Color, Integer>();
/**
* Add new bar to chart
*
* @param color
* color to display bar
* @param value
* size of bar
*/
public void addBar(Color color, int value) {
bars.put(color, value);
repaint();
}
protected void paintComponent(Graphics g) {
int max = Integer.MIN_VALUE;
for (Integer value : bars.values()) {
max = Math.max(max, value);
}
int width = (getWidth() / bars.size()) - 2;
int x = 1;
for (Color color : bars.keySet()) {
int value = bars.get(color);
int height = (int) ((getHeight() - 5) * ((double) value / max));
g.setColor(color);
g.fillRect(x, getHeight() - height, width, height);
g.setColor(Color.black);
g.drawRect(x, getHeight() - height, width, height);
x += (width + 2);
}
}
public Dimension getPreferredSize() {
return new Dimension(bars.size() * 10 + 2, 50);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Bar Chart");
FirstProject chart = new FirstProject();
chart.addBar(Color.red, 100);
chart.addBar(Color.green, 8);
chart.addBar(Color.blue, 54);
chart.addBar(Color.black, 23);
frame.getContentPane().add(chart);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
以下是我的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>com.FirstProject</display-name>
<welcome-file-list>
<welcome-file>com.FirstProject</welcome-file>
</welcome-file-list>
</web-app>.
现在,当我运行应用程序时,本地主机会在浏览器上显示整个代码。
如何获得所需的输出(条形图显示在浏览器上)? 我错过了什么,或者我没有遵循正确的模式?
如果要显示输出,那么必须使用JSP,Servlet,而不是JPANEL。 JPanel无法将数据显示到浏览器中。
您可以使用JApplet并将代码显示到浏览器中。
你明白了吗?
我认为这不是您问题的解决方案,但这可以帮助您解决问题。
Swing和JSP + Servlets之间的显着差异
JSP,Servlets :它们是服务器端技术,用于生成HTML页面
用于桌面应用程序的Swing (可与JApplets一起使用)
您正在使用JPanel .. JPanel是为桌面应用程序开发的。您必须使用Jsp或servlet在基于Web的应用程序中工作..您必须使用Html标签在Web浏览器中显示您的设计..
因为每个人都指定swing是桌面应用程序而Jframe不能用于Web应用程序。
您可以使用jfreechart在Web浏览器上仅显示静态图像。
在桌面应用程序中使用swing你可以自定义鼠标列表,键盘列表,工具提示和所有....
Jsp只能显示静态图像文件。
使用JavaFX显示网页。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.