割り当てには、このpublic void draw(Graphics2D g)
メソッドを使用して三角形オブジェクトを作成して、キャンバスに三角形を描画する必要があります。JFrameで描画文字列が表示されない
私は自分のコードのより深い部分に入る前に簡単なテキストを画面に印刷できるかどうかを試してみました。私はpublic void paintComponent(Graphics g)
メソッドの使用に慣れており、そのメソッドを使用すると機能します。しかし、public void draw(Graphics2D g)
メソッドを使用すると空白になります。
私は間違っていますか?
import javax.swing.JFrame;
public class Main {
public static void main(String[] args){
Window window = new Window();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(700,500);
window.setLocation(400,100);
window.setTitle("Draw Pad");
window.initialize();
window.setVisible(true);
}
}
import java.awt.Container;
import javax.swing.JFrame;
public class Window extends JFrame {
public void initialize(){
DrawPanel panel = new DrawPanel();
Container contentPane = getContentPane();
contentPane.add("Center", panel);
}
}
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
public class DrawPanel extends JPanel {
//Doesn't work using this
public void draw(Graphics2D g)
{
g.drawString(("Hello"), 100, 100);
}
//Works using this
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.drawString(("Hello"),100,100);
}
}
コードはコンパイルされません – MadProgrammer
@MadProgrammer空のウィンドウが表示されるだけでなく、インポートが含まれていないため、スペースが少なくて済むようになりました。あなたがそれをコピーしたばかりの場合。 –
私はちょうどコンパイラエラーの束を手に入れます - どのように - 自分自身にこの質問をしてください - あなたの 'draw'メソッドはどう呼ばれますか? – MadProgrammer