以windows系统中的记事本为例,菜单栏中的【文件】,【编辑】等全部叫一个菜单条;在Java中用JMenuBar表示;
菜单条中每一个具体的项叫做一个菜单,在Java中用JMenu表示;
菜单中的每一项叫做菜单项,Java中用JMenuItem表示;
我们在窗体中创建菜单栏,首先需要创建菜单条,先声明,然后在构造方法中初始化;代码为:JMenuBar bar = new JMenuBar()
然后创建菜单,也菜单条一样,也是先声明,再new;代码为:JMenu menu = new JMenu("文件")
接下来创建菜单项,和上面的一样,先声明,再new;代码为:JMenuItem item = new JMenuItem("新建")
创建好每一个部分之后,我们需要将菜单项添加到菜单中,然后将菜单添加到菜单条中;代码为:
menu.add(item)
bar.add(menu)
然后将整个菜单条添加到窗体中,代码为:
this.setJMenuBar(bar)
这样就可以实现在窗体中添加菜单条了,看一下效果吧。
如果代码运行没有报错,那就是添加成功了。只是展示的时候,由于你的menubar没内容,所以看不出效果。
你可以再menuBar中添加一个JMenu,然后再看看效果。
PS:java桌面程序,java自己都放弃了。无论是学习,还是工作,都不推荐从这个方向开始入门。
import java.awt.BorderLayoutimport java.awt.Color
import java.awt.Container
import java.awt.Dimension
import java.awt.FlowLayout
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JMenu
import javax.swing.JMenuBar
import javax.swing.JMenuItem
import javax.swing.JPanel
public class jiemian extends JFrame
{
private JLabel jl = new JLabel ("第一关")
private Container container = new JPanel ()
private static Thread t
int time = 0
public jiemian ()
{
JMenuBar menuBar = new JMenuBar ()
setJMenuBar (menuBar)
JMenu[] menu = new JMenu[] { new JMenu ("游戏"), new JMenu ("帮助") }
JMenuItem[] menuItem =
new JMenuItem[] { new JMenuItem ("新游戏"), new JMenuItem ("重新开始"), new JMenuItem ("记录"),
new JMenuItem ("退出"), new JMenuItem (" *** 作方法") }
for ( int i = 0 i < 2 i++ )
{
menuBar.add (menu[i])
}
for ( int i = 0 i < 4 i++ )
{
menu[0].add (menuItem[i])
}
menu[1].add (menuItem[4])
menuItem[3].addActionListener (new ActionListener ()
{
public void actionPerformed ( ActionEvent e )
{
System.exit (0)
}
})
t = new Thread (new Runnable ()
{
public void run ()
{
while (time <= 200)
{
if (time % 2 == 0)
{
container.add (jl)
jl.setBounds (200, 200, 80, 80)
}
else
jl.setBounds (0, 0, 0, 0)
try
{
Thread.sleep (1000)
}
catch (Exception e)
{
e.printStackTrace ()
}
time++
if (time == 200)
{
time = 0
}
}
}
})
t.start ()
this.setLayout (null)
container.setLayout (null)
container.setSize (500, 500)
container.setBackground (Color.BLUE)
this.add (container)
this.setTitle ("坦克大战")
this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE)
this.setSize (700, 600)
this.setLocationRelativeTo (null)
this.setVisible (true)
}
public static void main ( String[] args )
{
new jiemian ()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)