jbutton可以设置id吗_Java Swing简单控件实例(JButton,JLabel,JMenuBar,JComboBo)

本文介绍了如何在Java Swing中使用简单的控件,包括创建JFrame,添加JButton、JLabel、JMenuBar、JComboBox等,并展示了如何设置布局和响应事件。
摘要由CSDN通过智能技术生成

package hello;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.event.*;

import java.awt.*;

/**

* swing基础实例

* @author HZ20232

*

*/

public class Hello{

public static void main(String args[])throws Exception{

NewFrame frame1 = new NewFrame();

frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//一定要设置关闭

frame1.setVisible(true);

}

}

class NewFrame extends JFrame{

private JLabel label1;

private JButton button1;

private JTextField text1;

private JComboBox box;

private JMenuBar menuBar;

private JSlider slider;

private JSpinner spinner;

private JToolBar toolBar;

public NewFrame(){

super();

this.setSize(300,500);

this.getContentPane().setLayout(null);//设置布局控制器

//        this.getContentPane().setLayout(new FlowLayout());//设置布局控制器

//        this.getContentPane().setLayout(new GridLayout(1,2));//设置布局控制器,需要给出设定的行列数目

//        this.getContentPane().setLayout(new BorderLayout());//设置布局控制器,以North,South,West,East,来控制控件布局

//        this.getContentPane().setLayout(new GridBagLayout());//设置布局控制器

this.add(this.getTextField(),null);//添加文本框

this.add(this.getButton(),null);//添加按钮

this.add(this.getLabel(),null);//添加标签

this.add(this.getBox(),null);//添加下拉列表框

this.setJMenuBar(this.getMenu());//添加菜单

this.add(this.getSlider(),null);

this.add(this.getSpinner(),null);

this.add(this.getToolBar(),null);

this.setTitle("Hello World!");//设置窗口标题

}

private JToolBar getToolBar(){

if(toolBar==null){

toolBar = new JToolBar();

toolBar.setBounds(103,260,71,20);

toolBar.setFloatable(true);

}

return toolBar;

}

private JSpinner getSpinner(){

if(spinner==null){

spinner = new JSpinner();

spinner.setBounds(103,220, 80,20);

spinner.setValue(100);

}

return spinner;

}

private JSlider getSlider(){

if(slider==null){

slider = new JSlider();

slider.setBounds(103,200,100, 20);

slider.setMaximum(100);

slider.setMinimum(0);

slider.setOrientation(0);

slider.setValue(0);

}

return slider;

}

/**

* 菜单的级别JMenuBar->JMenu->JMenuItem

* 三级都是1:n的关系

* 最后添加菜单用的SetJMenuBar方法

* @return 建立好的菜单

*/

private JMenuBar getMenu(){

if(menuBar==null){

menuBar = new JMenuBar();

JMenu m1 = new JMenu();

m1.setText("文件");

JMenu m2 = new JMenu();

m2.setText("编辑");

JMenu m3 = new JMenu();

m3.setText("帮助");

JMenuItem item11 = new JMenuItem();

item11.setText("打开");

JMenuItem item12 = new JMenuItem();

item12.setText("保存");

JMenuItem item13 = new JMenuItem();

item13.setText("退出");

JMenuItem item21 = new JMenuItem();

item21.setText("复制");

JMenuItem item22 = new JMenuItem();

item22.setText("拷贝");

JMenuItem item23 = new JMenuItem();

item23.setText("剪切");

JMenuItem item31 = new JMenuItem();

item31.setText("欢迎");

JMenuItem item32 = new JMenuItem();

item32.setText("搜索");

JMenuItem item33 = new JMenuItem();

item33.setText("版本信息");

m1.add(item11);

m1.add(item12);

m1.add(item13);

m2.add(item21);

m2.add(item22);

m2.add(item23);

m3.add(item31);

m3.add(item32);

m3.add(item33);

menuBar.add(m1);

menuBar.add(m2);

menuBar.add(m3);

}

return menuBar;

}

/**

* 设置下拉列表框

* @return

*/

private JComboBox getBox(){

if(box==null){

box = new JComboBox();

box.setBounds(103,140,71,27);

box.addItem("1");

box.addItem("2");

box.addActionListener(new comboxListener());//为下拉列表框添加监听器类

}

return box;

}

private class comboxListener implements ActionListener{

public void actionPerformed(ActionEvent e){

Object o = e.getSource();

System.out.println(o.toString());

}

}

/**

* 设置标签

* @return 设置好的标签

*/

private JLabel getLabel(){

if(label1==null){

label1 = new JLabel();

label1.setBounds(34,49,53,18);

label1.setText("Name");

label1.setToolTipText("JLabel");

}

return label1;

}

/**

* 设置按钮

* @return 设置好的按钮

*/

private JButton getButton(){

if(button1==null){

button1 = new JButton();

button1.setBounds(103,110,71,27);

button1.setText("OK");

button1.setToolTipText("OK");

button1.addActionListener(new HelloButton());//添加监听器类,其主要的响应都由监听器类的方法实现

}

return button1;

}

/**

* 监听器类实现ActionListener接口,主要实现actionPerformed方法

* @author HZ20232

*

*/

private class HelloButton implements ActionListener{

public void actionPerformed(ActionEvent e){

System.out.println("Hello world!");

}

}

/**

* 设定文本域

* @return

*/

private JTextField getTextField(){

if(text1==null){

text1 = new JTextField();

text1.setBounds(96,49,160,20);

}

return text1;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值