java swing 案例_java swing 案例

该博客介绍了一个使用Java Swing编写的公告发布窗口案例。通过创建JFrame、JPanel、Label、TextArea、Button等组件,实现了一个简单的公告内容输入和提交、取消功能。窗口居中显示,且提供了事件监听处理用户交互。
摘要由CSDN通过智能技术生成

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Toolkit;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class CreateAnnounce

{

static CreateAnnounce window = null;

private JFrame frame;

javax.swing.JPanel announcePanel = new javax.swing.JPanel();

java.awt.Label contentLable = new java.awt.Label();

java.awt.TextArea contentText = new java.awt.TextArea();

java.awt.Button m_btnok = new java.awt.Button();

java.awt.Button m_btncancle = new java.awt.Button();

static int width;

static int height;

/**

* Launch the application

* @param args

*/

public static void main(String [] args)

{

CreateAnnounce.open();

}

public static void open()

{

try

{

window = new CreateAnnounce();

window.frame.setTitle("發佈公告");

window.frame.setResizable(false);

window.frame.setVisible(true);

}

catch (Exception e)

{

e.printStackTrace();

}

}

/**

* Create the application

*/

public CreateAnnounce()

{

initialize();

}

/**

* Initialize the contents of the frame

*/

private void initialize()

{

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

width = screenSize.width;

height = screenSize.height;

frame = new JFrame();

frame.getContentPane().setForeground(new Color(255, 255, 255));

frame.setBounds((width-500)/2, (height-275)/2, 500, 275);//窗口居中

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Call panel

announcePanel.setName("Call");

announcePanel.setLayout(null);

frame.add(announcePanel);

announcePanel.setBounds(500,0,500,0);

announcePanel.setBackground(new Color(250,250,250));

contentLable.setText("公告內容:");

contentLable.setFont(new Font(null, 10,15));

contentLable.setBounds(70, 50, 100, 50);

announcePanel.add(contentLable);

contentText.setBounds(170, 50, 250, 60);

announcePanel.add(contentText);

m_btnok.setLabel("提交");

m_btnok.setBackground(new Color(176, 196, 222));

announcePanel.add(m_btnok);

m_btnok.setBounds(170,150,50,30);

m_btncancle.setLabel("取消");

m_btncancle.setBackground(new Color(176, 196, 222));

announcePanel.add(m_btncancle);

m_btncancle.setBounds(270,150,50,30);

JavaPhoneMouse aJavaPhoneMouse = new JavaPhoneMouse();

m_btnok.addMouseListener(aJavaPhoneMouse);

m_btncancle.addMouseListener(aJavaPhoneMouse);

}

//事件監聽

class JavaPhoneMouse extends java.awt.event.MouseAdapter

{

public void mouseClicked(java.awt.event.MouseEvent event)

{

Object object = event.getSource();

if(object == m_btnok)

{

String content = contentText.getText();

if(content==null||content.trim().equals(""))

{

JOptionPane.showMessageDialog(new JPanel(), "請輸入公告!");

return;

}

}

if(object == m_btncancle)

{

if(frame!=null)

{

frame.dispose();

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值