简体   繁体   English

动态Web项目在浏览器上显示java代码?

[英]Dynamic web project displaying the java code on browser?

I am creating Dynamic web project in eclipse. 我正在eclipse中创建动态Web项目。 Now Following is my java class 现在以下是我的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);
    }
}

and following is my web.xml 以下是我的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>.

Now when I run the application the local host displays the entire code as it is on the browser. 现在,当我运行应用程序时,本地主机会在浏览器上显示整个代码。

How to get the desired output(the bar chart being displayed on browser)? 如何获得所需的输出(条形图显示在浏览器上)? Am I missing something or am I not following the correct pattern? 我错过了什么,或者我没有遵循正确的模式?

If you want to display your output,Then you have to use the JSP, Servlet, NOT a JPANEL. 如果要显示输出,那么必须使用JSP,Servlet,而不是JPANEL。 JPanel cannot display data into browser. JPanel无法将数据显示到浏览器中。

You can use the JApplet and the display the code into browser. 您可以使用JApplet并将代码显示到浏览器中。

You got my point? 你明白了吗?

I think this not the solution to your question, but this may help you to solve your problem. 我认为这不是您问题的解决方案,但这可以帮助您解决问题。

Striking Difference between Swing and JSP+Servlets Swing和JSP + Servlets之间的显着差异

JSP,Servlets : They are server-side technology, used for generating HTML pages JSP,Servlets :它们是服务器端技术,用于生成HTML页面

Swing used for desktop applications (can be used with JApplets) 用于桌面应用程序的Swing (可与JApplets一起使用)

您正在使用JPanel .. JPanel是为桌面应用程序开发的。您必须使用Jsp或servlet在基于Web的应用程序中工作..您必须使用Html标签在Web浏览器中显示您的设计..

As everyone has specified swing is desktop app and Jframe cant be used in web application. 因为每个人都指定swing是桌面应用程序而Jframe不能用于Web应用程序。

You can show only static image on web browser using jfreechart. 您可以使用jfreechart在Web浏览器上仅显示静态图像。

IN desktop app using swing u can customize the charts for mouselistner,keyboard listner, tool tips and all.... 在桌面应用程序中使用swing你可以自定义鼠标列表,键盘列表,工具提示和所有....

Jsp can show only static image file. Jsp只能显示静态图像文件。

使用JavaFX显示网页。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM