2013-12-20 86 views
1

我应该显示一排2个按钮,但似乎并非如此。JFrame /面板不显示

import java.util.*; 
import javax.swing.*; 
import java.awt.event.*; 
import java.awt.*; 

public class Studying extends JFrame{ 

JButton button = new JButton("Word"); 
JButton button1 = new JButton("MoreWords"); 

public void Studying(){ 

JPanel p1 = new JPanel(); 
p1.setLayout(new GridLayout(1,2)); 
p1.add(button); 
p1.add(button1); 
add(p1); 

} 

public static void main(String[] args){ 
Studying frame = new Studying(); 
frame.setTitle("test"); 
frame.setSize(500,200); 
frame.setVisible(true); 
frame.setLocationRelativeTo(null); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

} 

回答

5

构造函数不是实际的构造函数,它被视为一种方法,导致使用类的默认构造函数。构造函数不指定返回类型,即使void

固定构造

public Studying(){ 

    JPanel p1 = new JPanel(); 
    p1.setLayout(new GridLayout(1,2)); 
    p1.add(button); 
    p1.add(button1); 
    add(p1); 

} 
+0

哇...为什么我弄的,我做了GUI的很多,但是,它是无形的给我。 – Corjava

+0

@Corjava适合每个人。如果你需要它休息一下。当我累了时,我总是把'='和'=='混在一起。 –

+0

是的,总决赛周...只是为它练习GUI。 – Corjava

0

函数学习()不是一个类,因此Studying frame = new Studying();public class Studying extends JFramepublic void Studying()和永远不会调用。将按钮的创建移动到静态主体,并将它们附加到框架,并且按钮将可见。

public class Studying extends JFrame { 

static JButton button = new JButton("Word"); 
static JButton button1 = new JButton("MoreWords"); 

public static void main(String[] args) { 
    Studying frame = new Studying(); 
    frame.setTitle("test"); 
    frame.setSize(500, 200); 
    frame.setLocationRelativeTo(null); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setLayout(new GridLayout(1, 2)); 
    frame.add(button); 
    frame.add(button1); 
    frame.setVisible(true); 

} 
} 
0

这应该工作:

import java.util.*; 
import javax.swing.*; 
import java.awt.event.*; 
import java.awt.*; 

public class Studying extends JFrame{ 

JButton button = new JButton("Word"); 
JButton button1 = new JButton("MoreWords"); 

public Studying(){ 

JPanel p1 = new JPanel(); 
p1.setLayout(new GridLayout(1,2)); 
p1.add(button); 
p1.add(button1); 
add(p1); 

} 

public static void main(String[] args){ 
Studying frame = new Studying(); 
frame.setTitle("test"); 
frame.setSize(500,200); 
frame.setLocationRelativeTo(null); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.pack(); 
frame.setVisible(true); 

}