c#里panel的使用方法是什么?

c#里panel的使用方法是什么?,第1张

使用 Panel 控件可对控件进行分组,本身就是个容器

可以更好的对组内控件进行控制,比如单个命令隐藏或显示一组控制;设置组背景图;控制组内控件整体移动等等。

类似于html中div。

延展阅读:

高级编程c#中Panel控件用于为其他控件提供可识别的分组。通常,使用面板按功能细分窗体。例如,可能有一个订单窗体,它指定邮寄选项(如使用哪一类通营承运商)。将所有选项分组在一个面板中可向用户提供逻辑可视提示。在设计时所有控件都可以轻松移动 -- 当移动 Panel 控件时,它包含的所有控件也将移动。

首先将JPanel的容器的布局管理器设为null 即绝对布局

然后移动的时候只需要修改JPanel的bounds就行了

附一个简单的示例代码

import java.awt.*

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.*

/**

*

* @author Jeky

*/

public class MainFrame extends JFrame {

private JPanel movePanel

private JButton button

public MainFrame() {

movePanel = new JPanel()

movePanel.setBorder(BorderFactory.createRaisedBevelBorder())

movePanel.setBounds(new Rectangle(50, 50, 50, 50))

button = new JButton("移动")

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

Rectangle bounds = movePanel.getBounds()

Point location = bounds.getLocation()

location.x+=5

location.y+=5

bounds.setLocation(location)

movePanel.setBounds(bounds)

}

})

JPanel center = new JPanel()

center.setLayout(null)

center.add(movePanel)

JPanel south = new JPanel()

south.setLayout(new FlowLayout(FlowLayout.CENTER))

south.add(button)

this.getContentPane().add(center,BorderLayout.CENTER)

this.getContentPane().add(south,BorderLayout.SOUTH)

this.setSize(300, 300)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

this.setVisible(true)

}

public static void main(String[] args) {

new MainFrame()

}

}


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

原文地址: http://outofmemory.cn/tougao/11264022.html

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

发表评论

登录后才能评论

评论列表(0条)

保存