![](/img/trans.png)
[英]JTree & JButtons - Wrong Rendering when mouse hovers over Button
[英]JButtons Only Working When Mouse Hovers Over
我是Java和整體編程的初學者,我首先制作了一個帶有幾個按鈕的簡單JFrame
。 現在,當我創建按鈕時,它們出現的唯一方式是如果我將鼠標懸停在它們上方。
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
public Main() {
setTitle("Test");
setSize(600, 500);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new FlowLayout());
JPanel p = new JPanel();
JButton b = new JButton("Derp");
p.add(b);
add(b);
setVisible(true);
revalidate();
repaint();
}
public static void main(String[] args) {
new Main();
}
public void paint(Graphics g) {
g.drawString("Under Construction...", 240, 250);
}
}
我們將不勝感激,也請注意,我對Java的了解不多,也不熟悉各種語言。 另外,一種使按鈕具有Aero紋理而不是默認紋理的方法會很不錯:)
由於您覆蓋了paint
,因此需要調用super.paint(g);
作為第一行。
public void paint(Graphics g) {
super.paint(g); // <-- add this.
g.drawString("Under Construction...", 240, 250);
}
另外,您應該將邏輯移出main()
線程; 喜歡
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Main();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.