簡體   English   中英

動態Web項目在瀏覽器上顯示java代碼?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM