创建windows的程序,就是那种带界面的。如果想要有VB那种可拖拉的设计,需要上网上下载“swing的插件”。
第一部分:Jframe和JPanel
1.Frame空窗口。
package text;
import javax.swing.JFrame; //新建窗口必须有的头文件
public class text1 {
public static void main(String[] args)
{
JFrame f=new JFrame(); //新建窗口的格式。
f.setVisible(true); //让新建的窗口可见。
f.setSize(1000,100); //设置窗口的宽高。
}
}
2.Frame标题,最上层,等一坨用到再说的细节。
package text;
import javax.swing.JFrame; //新建窗口必须有的头文件
public class text1 {
public static void main(String[] args)
{
JFrame f=new JFrame(); //新建窗口的格式。
f.setVisible(true); //让新建的窗口可见。
f.setSize(1000,1000); //设置窗口的宽高。
f.setLocation(300, 500); //设置窗口在桌面的显示地点。
f.setTitle("666"); //让标题叫666。
f.setAlwaysOnTop(true); //总在最上层。
}
}
3.Panel空窗口:
package text;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
f.add(p);
}
}
4.Panel的边距:
JFrame能用的Jpanel应该都能用。
package text;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
p.setBorder(new EmptyBorder(100,100,100,100)); //这个函数就是设置边框的。
p.setLayout(new GridLayout(1,2,10,10));
JLabel l = new JLabel("账号:");
JTextArea s = new JTextArea();
p.add(l);
p.add(s);
f.add(p);
}
}
第二部分:部件
1.按钮:
package text;
import java.awt.Button;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
Button b = new Button("666"); //新加一个函数的时候如果不知道头文件,按Ctrl+Shift+M他自己就加上去了。
p.add(b);
f.add(p);
}
}
点击按钮弹出另一个界面
JFrame f3 = new JFrame("学生信息");
f3.setVisible(true);
f3.setSize(500,300);
JPanel p3 = new JPanel();
Button b31 = new Button("学生信息查询"); //新加一个函数的时候如果不知道头文件,按Ctrl+Shift+M他自己就加上去了。
Button b32 = new Button("学生信息插入");
Button b33 = new Button("学生信息删除");
Button b34 = new Button("学生信息修改");
Button b35 = new Button("返回");
b35.addActionListener(new ActionListener(){ //这个就是点按钮弹界面的代码
public void actionPerformed(ActionEvent e){
f3.setVisible(false);
f2.setVisible(true);
}
});
p3.add(b31);
p3.add(b32);
p3.add(b33);
p3.add(b34);
p3.add(b35);
f3.add(p3);
2.文本显示
package text;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);<span > </span>
JPanel p = new JPanel();
JLabel l = new JLabel("666");
p.add(l);
f.add(p);
}
}
3.账号框:
package text;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
p.setLayout(new GridLayout(1,2,10,10)); //这代表的是1行,2列,行间距是10,列间距是10。
JLabel l = new JLabel("账号:");
JTextField s = new JTextField();
p.add(l);
p.add(s);
f.add(p);
}
}
4.密码框:
package text;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
p.setLayout(new GridLayout(1,2,10,10));
JLabel l = new JLabel("密码:");
JPasswordField s = new JPasswordField();
p.add(l);
p.add(s);
f.add(p);
}
}
5.文本域
package text;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
p.setLayout(new GridLayout(1,2,10,10)); //这代表的是1行,2列,行间距是10,列间距是10。
JLabel l = new JLabel("账号:");
JTextArea s = new JTextArea();
p.add(l);
p.add(s);
f.add(p);
}
}
第三部分:布局
1.FlowLayout
package text;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
p.setLayout(new FlowLayout(FlowLayout.LEFT)); //括号里面的如果不加(FlowLayout.LEFT),就是默认居中。
for(int i=0; i<9; i++)
{
Button b = new Button("Buttton"+i);
p.add(b);
}
f.add(p);
}
}
2.BorderLayout
package text;
import java.awt.BorderLayout;
import java.awt.Button;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
Button b1 = new Button("button"+1);
p.add(b1,BorderLayout.NORTH);
Button b2 = new Button("button"+2);
p.add(b2,BorderLayout.SOUTH);
Button b3 = new Button("button"+3);
p.add(b3,BorderLayout.WEST);
Button b4 = new Button("button"+4);
p.add(b4,BorderLayout.EAST);
Button b5 = new Button("button"+5);
p.add(b5,BorderLayout.CENTER);
f.add(p);
}
}
3.GridLayout
组件里面有写。
第四部分:事件的反馈
1.ActionListener
package text;
import java.awt.Button;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
class Listen implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "我被点击了"); //这句是弹窗口。
}
}
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
Button b = new Button();
Listen l = new Listen();
b.addActionListener(l);
p.add(b);
f.add(p);
}
}
2.WindowListener
package text;
import java.awt.Button;
import java.awt.event.ActionEvent;
import java.awt.event.ComponentListener;
import java.awt.event.FocusListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
class Listen implements WindowListener
{
@Override
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("缩小后打开");
}
@Override
public void windowClosing(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("关闭");
}
@Override
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("缩小");
}
@Override
public void windowOpened(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("打开");
}
}
public class text1
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
JPanel p = new JPanel();
Listen l = new Listen();
f.addWindowListener(l); //这里要注意只有JFrame才会有addWindouListener。
f.add(p);
}
}
第五部分:swing小实例