私は熱心なプログラマーですが、今日が私の最初のJavaレッスンです。
public void Paint (Graphics g)
{
if(g instanceof Graphics2D)
{
Graphics2D g2d = (Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
}
g.drawString("This is gona be awesome", 200, 200);
}
上記のコードで、ウィンドウに文章を書きたいのですが、書きません。私は何が間違っているのですか?
編集:気にしないでください-ペイントはペイントでなければなりません。大変お詫び申し上げます。
与えられたコードで、あなたが欲しいのは
g2d.drawString("This is gona be awesome", 200, 200);
^
参考のための実用的な例:
package Experiments;
import Java.awt.Container;
import Java.awt.Graphics;
import Java.awt.Graphics2D;
import Java.awt.RenderingHints;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class MainClass{
public static void main(String[] args) {
JFrame jf = new JFrame("Demo");
Container cp = jf.getContentPane();
MyCanvas tl = new MyCanvas();
cp.add(tl);
jf.setSize(300, 200);
jf.setVisible(true);
}
}
class MyCanvas extends JComponent {
@Override
public void paintComponent(Graphics g) {
if(g instanceof Graphics2D)
{
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.drawString("This is gona be awesome",70,20);
}
}
}
1)JFrame
に直接ペイントすることはできません。ペイントできます:
そこに置くJPanel
JFrame
からのgetContentPane
2)Swingの場合JComponents
はpaintComponent()
の代わりにPaint()
があります。そうしないと、絵を正しく描くことができませんでした。
3)別のオプションは次のとおりです。
JFrame's RootPane
にペイントします
JFrame's GlassPane
にペイントします
4)詳細 2Dグラフィックス チュートリアル
JFrameを使用して画面にテキストを描画するには、Graphics.drawText(String text, int x, int y)
メソッドを使用できます。
最初のパラメータは表示する文字列で、最後の2つのパラメータはこのテキストが始まる座標です。
サンプルコードは次のとおりです。
package example.com;
import Java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JFrameGraphics extends JPanel {
public void Paint(Graphics g){
g.drawString("Hello Text!", 10, 10);
}
public static void main(String[] args){
JFrame frame= new JFrame("Hello");
frame.getContentPane().add(new JFrmaeGraphics());
frame.setSize(300, 300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
}
}
Javaでテキストとグラフィックスを表示する方法の詳細については、以下を確認してください。 https://javatutorial.net/display-text-and-graphics-Java-jframe