一: 前言
java swing是一个用于开发java图形界面应用程序的开发工具包。它是以抽象窗口工具包(AWT)为基础,使跨平台应用程序可以使用任何可插拔的外观风格。swing开发人员通过使用少量的代码,就可以利用swing包中丰富、灵活的功能和模块化组件类来开发出令人满意的用户界面了。接下来我们会用相关的例子来演示如何使用 java swing 开发图形界面。
二 :示例
1.0 如下图 a 所示,制作一个计算器。
a制作一个桌面的计算器。
代码如下:
package com.Swing.DeLongYang;
import javax.swing.*;
import java.awt.*;
// 主要是布局嵌套
public class LayoutNesting extends JFrame {
//
public LayoutNesting(){
this.setBounds(50,50,250,250);
Container c=this.getContentPane();
JPanel panTop=new JPanel(new BorderLayout());
JPanel panMiddle= new JPanel(new GridLayout(4, 4, 10, 10));
JPanel panButtom= new JPanel(new FlowLayout(FlowLayout.CENTER));
// 布局顶部
panTop.add(new JTextField("计算结果"),BorderLayout.EAST);
panTop.add(new JButton("计算"),BorderLayout.WEST);
c.add(panTop, BorderLayout.NORTH);
// 布局中部
String []s="7,8,9,+,-,*,/,4,5,6,1,2,3,.".split(",");
for (int i=0; i<s.length;i++){
panMiddle.add(new JButton(s[i]));
}
c.add(panMiddle, BorderLayout.CENTER);
// 布局底部
panButtom.add(new JButton("关于产品"));
c.add(panButtom, BorderLayout.SOUTH);//
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args){
new LayoutNesting()
}
}
运行就会出现这样的 计算器界面。
2.0 制作一个简单的登录界面
如下图b 所示。
b代码如下。
package com.Swing.DeLongYang;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LoginFrame extends JFrame{
JLabel lable=new JLabel("用户名");
JTextField userNameTextField=new JTextField();
JLabel passLable= new JLabel("密码");
JTextField passTextField=new JTextField();
JButton loginBtn=new JButton("登录");
JButton exitBtn=new JButton("关闭");
public LoginFrame(){
this.setBounds(50,50,250,150);
Container c=this.getContentPane();
c.setLayout(new GridLayout(3, 2, 10, 10));
c.add(lable);
c.add(userNameTextField);
c.add(passLable);
c.add(passTextField);
c.add(loginBtn);
c.add(exitBtn);
loginBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String name=userNameTextField.getText();
String pass=passTextField.getText();
if(name.equals("Tom")&&pass.equals("123")){
System.out.println("登录成功");
}else{
System.out.println("用户名或者密码错误");
}
}
});
exitBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args){
new LoginFrame();
}
}
运行结果 想必 你已经从代码中看出来了。 如果输入 Tom 和 123 就会有登录成功输出
网友评论