[解決済み] JFrameのpublic void paint()メソッドの処理方法について
2022-02-15 08:07:57
質問
私の問題は
public void paint(Graphics g)
{}
としてStringを描画するメソッドです。
g.drawString("hello java",0,0);
私の完全なコードは
import javax.swing.*;
import java.awt.*;
class test
extends JFrame
{
public void testing()
{
setSize(500,500);
show();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paint(Graphics g)
{ super.paint(g);
g.drawString("HELLO JAVA");
}
public static void main(String arg[])
{
test t=new test();
t.testing();
} }
JFrameでは、hello javaが描画されずに黒い画面が表示されます。 よろしくお願いします。 ありがとうございました。
どうすればいいですか?
継承したフレームを正しく表示するために、継承したクラスの paint メソッドに super.paint() の呼び出しが含まれている必要があります。
class MyFrame extends JFrame {
public void paint(Graphics g) {
super.paint(g);
g.drawString("hello java", 50, 50);
}
}
EDIT(パネルに絵を描くこと)。
import java.awt.*;
import javax.swing.*;
public class CustomPaint {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("CustomPaint");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new MyPanel());
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
}
}
class MyPanel extends JPanel {
public Dimension getPreferredSize() {
return new Dimension(320, 240);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
String msg = "HELLO JAVA";
g2.setPaint(Color.BLUE);
int w = (getWidth() - g.getFontMetrics().stringWidth(msg)) / 2;
g2.drawString(msg, w, getHeight() / 2);
}
}
関連
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み】CreateProcess error=2, The system cannot find file specified.
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】スレッド「main」での例外 java.lang.StringIndexOutOfBoundsException: 文字列のインデックスが範囲外です。0 [閉店]
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】java.io.IOException: 壊れたパイプ
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】Eclipseで「パッケージエクスプローラー」ビューが見つからない
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)