java panel 问题

java panel 问题,第1张

类中存在2个问题:

①没有为容器添加布局方式

②没有将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代表面板或者画布,可以在上面添加按钮、对话框、输入框等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11751877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存