私は私の人生のために私が把握することができない問題があります。私はユーザーの入力を求めてから、JFrameを作成してその単語を表示します。私は(0,0)に単語を表示したいが、これはフィールド外にあるように見え、タイトルがあるところの先頭に書き込む。ここに私のコードは次のとおりです。drawString so(0,0)が描画領域内にあります
import java.util.Scanner;
import javax.swing.*;
public MainWindow(String input){
JFrame frame = new JFrame();
frame.setSize(320, 240);
frame.setTitle("Draw String Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Text text = new Text(input);
frame.add(text);
frame.setVisible(true);
}
Scanner sc = new Scanner(System.in);
System.out.print("Enter a string: ");
String input = sc.nextLine();
new MainWindow(input);
}
}
その後、私のテキストクラスで:
だから、import java.awt.*;
import javax.swing.JComponent;
public class Text extends JComponent {
String text;
public Text(String txt){
this.text = txt;
}
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.drawString(this.text, 0, 5);
}
}
、あなたがこれを実行する場合は、ハロー、例えば、の下半分が表示されます。私は
this.text, 10, 10
を設定している場合
は、あなたは単語全体を見ることができます。
(0,0)を左上隅に開始し、テキストを実際の描画領域内に完全に収める方法はありますか?