②没有将JPanel添加组件添加到容易中
具体解决方法见类中注释,如下(如有问题可百度Hi我):
import java.awt.BorderLayout
import java.awt.Container
import javax.swing.*
public class JPaneDemo1 extends JPanel {
public static void main(String[] args)
{
JFrame frame = new JFrame()
frame.setTitle("PaneDemo1")
Container content = frame.getContentPane()
//添加布局格式,如果不添加,part2方法的组件将会覆盖part2的方法,这里添加东西南北中布局
content.setLayout(new BorderLayout())
//要调用你添加的组件方法,BorderLayout.CENTER布局在中间
content.add(new JPaneDemo1().part1(), BorderLayout.CENTER)
//BorderLayout.SOUTH布局在南方
content.add(new JPaneDemo1().part2(), BorderLayout.SOUTH)
// frame.setVisible(true)
frame.setSize(400,200)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setVisible(true)
}
private JPanel part1(){
JPanel panel = new JPanel()
panel.add(new JLabel("data:"))
panel.add(new JTextField("Please input data.",10))
panel.setVisible(true)
return panel
}
private JPanel part2(){
JPanel panel = new JPanel()
panel.add(new JButton("退出"))
panel.add(new JButton("重置"))
panel.add(new JButton("确定"))
panel.setVisible(true)
return panel
}
}
JFrame可以理解成一个容器,既然是容器就可以装东西。JButton就属于容器里面的东西,比如说是鱼。如果鱼离开了水,是无法生存的,这就可以类比JButtion必须放到JFrame上面才能进行添加。JAVA Swing中JFrame代表容易,JPane代表面板或者画布,可以在上面添加按钮、对话框、输入框等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)