最近私はGUIプログラミングに触れてみました。しかし、私は小さなエラーが発生しました。私のJPanelに追加されたJLabelは表示されません。私はValidateとRepaintを呼び出しましたが、どちらも表示されていません。ラベルがパネルに表示されない(再ペイントして検証しようとした)
このコードでは、イベント処理にSWINGとawtを使用しています。ここで
は、私は、問題を再現するために一緒に入れている非常に速いコードです:
package com.first;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class wraith
{
public static void main(String[] arg)
{
EventQueue.invokeLater(new Runnable()
{
@Override
public void run()
{
JFrame frame = new JFrame("Wraith, the game");
JPanel panel = new JPanel()
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
super.paint(g);
this.setBackground(new Color(0f,0f,0f,1.0f));
}
};
JLabel label = new JLabel()
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics arg0)
{
super.paint(arg0);
this.setForeground(Color.WHITE);
this.setText("Width: " + frame.getWidth() + " Height: " + frame.getHeight());
this.setHorizontalAlignment(LEFT);
this.setVerticalAlignment(TOP);
}
};
frame.setSize(500, 500);
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.add(label);
panel.validate();
frame.setVisible(true);
}
});
}
}
右:これは実際に助けてくれました。 – Delupara
@Delupara:Rob Camickは、賢いSwingプログラマーの一人です。 1 + –
私は実際に補聴器を知らなかった。私はアクションとウィンドウリスナーを知っていましたが、感謝しました。 – Delupara