我最近嘗試過觸摸GUI編程,實際上這個概念非常簡單。不過,我遇到了一個小錯誤。我的JPanel上添加的JLabel沒有顯示。我稱之爲驗證和重繪,但都沒有顯示。標籤不會顯示在面板上(重新繪製並驗證嘗試過)
代碼使用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