2

独自のソース コードを表示するアプレットを作成する必要がありました。これは私が持っているものです:

 //Reference the required Java libraries
 import java.applet.Applet; 
 import java.awt.*; 

 //The applet code
 public class FirstApplet extends Applet {

     public void paint(Graphics g) {

       //Draw a rectangle width=250, height=100
       g.drawRect(0,0,250,600); 

       //Set the color to blue
       g.setColor(Color.blue); 

       //Write the message to the web page
       g.drawString("\n //Reference the required Java libraries\n import java.applet.Applet;\n import java.awt.*; \n //The applet code\n public class FirstApplet extends Applet {\n     public void paint(Graphics g) {\n       //Draw a rectangle width=250, height=100\n      g.drawRect(0,0,250,100); \n       //Set the color to blue\n       g.setColor(Color.blue); \n       //Write the message to the web page\n       g.drawString",10,50); 
    }
 } 

ただし、\n は新しい行を作成していません。私のテキストは、完成するまで水平に続きます。g.drawString フィールド内に新しい行を作成するにはどうすればよいですか?

4

2 に答える 2

0

独自のソース コードを表示するアプレットを作成する必要がありました。

2 つの選択肢:

  1. AppletContext.showDocument(URL)ソース ファイルを参照するために使用します。
  2. ソースを読み取るにはJTextAreawithを使用します。JTextComponent.read(Reader,Object)

ところで

  1. アプレットをコーディングする理由 スペックによるものなら CS 教師が Java アプレットの指導をやめるべき理由を参照してください。
  2. なぜ Swing ではなく AWT なのですか? AWT コンポーネントの使用を放棄する多くの正当な理由については、AWT 上の Swing エクストラに関するこの回答を参照してください。古い AWT ベースの API をサポートする必要がある場合は、ヘビーウェイト コンポーネントとライトウェイト コンポーネントの混合を参照してください。
于 2013-10-29T22:17:47.613 に答える
0

おそらく、次のようなことを試すことができます(未テスト):

public static void draw(final Graphics g, final int startX, final int startY, final String... lines){
    final FontMetrics metrics = g.getFontMetrics();
    final int spacing = metrics.getHeight() + metrics.getMaxDescent();
    draw(g, startX, startY, spacing, lines);
}

public static void draw(final Graphics g, final int startX, final int startY, final int vSpacing, final String... lines){
    int y = startY;
    for(final String line : lines){
        g.drawString(line, startX, y);
        y += vSpacing;
    }
}

Font最初の方法は、高さを計算します(Graphicsオブジェクトの現在の高さと降下に基づいて)。2 番目の方法では、カスタムの垂直間隔値を入力して、カスタマイズ性を高めることができます。

于 2013-10-29T15:00:30.223 に答える