簡體   English   中英

如何與 Java 划清界限?

[英]How do you draw a line with Java?

我試圖畫一條線,但無法弄清楚。 我實際上需要為我的計算機科學實驗室畫一個三角形。 我對編程很陌生,離開了 Horstmann 的 Big Java 書。 目前還不清楚如何准確地繪制一些東西,我就是不明白。 首先它引入了一個“EmptyFrameViewer”,並說它是“必要的填充”來顯示一個框架,我可以開始工作。 我彈出了一個框架,但從來沒有在框架上畫過任何東西。 以下是我的代碼,我得到的只是一個 500x500 幀。 誰能幫我? 我只想要一條線! 一旦我有一條線,我確信我可以弄清楚如何畫更多的東西。

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import javax.swing.JComponent; 
import javax.swing.JFrame;

public class DrawFrame extends JComponent 
{
public void lineComponent (Graphics g)
{
    Graphics2D g2 = (Graphics g);
    Line2D.Double line1 = new Line2D.Double(30, 110, 80, 110);
    g2.draw(line1);
}

public static void main(String[] args) 
{
    JFrame frame = new JFrame();
    frame.setSize(500, 500);
    frame.setTitle("BE A LINE");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    DrawFrame component = new DrawFrame();
    frame.add(component);
    frame.setVisible(true);

}

}

對於自定義繪畫,您需要使用JComponentpaintComponent()方法。 嘗試通過在代碼中添加下一行來更改代碼。

@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    lineComponent(g);
}

同時更改Graphics2D g2 = (Graphics g); Graphics2D g2 = (Graphics2D) g; ,因為該代碼有編譯錯誤。

如果您將方法的名稱從lineComponentpaintComponent ,您將看到將繪制線條。

或者您可能想要創建一個單獨的paintComponent 方法,您可以在其中調用lineComponent。

可以繪制一條像復選框一樣對齊的線,然后對齊另一條線 Square --------Square ---------Square ----------sqa

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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