例子:第一个窗体程序
package shiba;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
public class JFreamTest {
public static void main(String[] args) {
JFrame jf=new JFrame();
jf.setTitle("创建一个JFrame窗体");
Container container=jf.getContentPane();
JLabel jl=new JLabel("这是一个JFreme窗体");
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
jf.setSize(300,150);
jf.setLocation(320,240);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}
publicJDialog():创建一个没有标题和父窗体的对话框。
publicJDialog(Frame f):创建一个没有标题,但指定父窗体的对话框。
public JDialog(Frame f, boolean model): 创建一个没有标题,但指定父窗体和模式的对话框,如果model为true,那么弹出对话框后,用户无法操作父窗体。
publicJDialog(Framef;String title):创建一个指定标题和父窗体的对话框。团 publicJDialog(Framef, String title, boolean model):创建一个指定标题、父窗体和模式的对话框
例子:在窗体中弹出对话框
package shiba;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
class MyJDialog extends JDialog{
public MyJDialog(MyFrame frame) {
super(frame,"第一个JDialog窗体",true);
Container container=getContentPane();
container.add(new JLabel("这是一个对话框"));
setBounds(120,120,100,100);
}
}
public class MyFrame extends JFrame{
public MyFrame() {
Container container=getContentPane();
container.setLayout(null);
JButton bl=new JButton("弹出对话框");
bl.setBounds(10,10,100,21);
bl.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
MyJDialog dialog = new MyJDialog(MyFrame.this);
dialog.setVisible(true);
}
});
container.add(bl);
setSize(200,200);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyFrame();
}
}
例子:弹出会话框,问用户准备好了吗?
例子: 弹出会话框,问用户是否离开?
例子:弹出会话框,让用户输入自己的名字
例子:弹出警告对话框
开发 Swing 程序时,在容器中使用布局管理器能够设置窗体的布局,进而控制 Swing 组件的位置大小。Swing 常用的布局管理器为绝对布局管理器、流布局管理器、边界布局管理器和网格布局管理器
例子:
public FlowLayout()。
public FlowLayout(int alignment).
public FlowLayout(int alignment,int horizGap,int vertGap)
例子:使用流布局排序按钮
例子:使用边界布局排序按钮
public GridLayout(int rows, int columns)
public GridLayout(int rows, int columns, int horizGap, int vertGap)。
例子:使用网格排序按钮
在Swing 程序设计中,面板是一个容器,被用于容纳其他组件,但面板必须被添加到其他容器中Swing中常用的面板包括JPanel 面板和JScrollPane面板。
例子:在一个窗体中显示4种布局风格
例子:为窗体添加上下滚动条
在 Swing 程序设计中,标签(JLabel) 被用于显示文本、图标等内容。在 Swing 应用程序的用界面中,用户能够通过标签上的文本、图标等内容获得相应的提示信息。
publicJLabel0:创建一个不带图标或文本的标签
publicJLabel(Icon icon):创建一个带图标的标签。
public JLabel(Icon icon,int aligment): 创建一个带图标的标签,并设置图标的水平对齐方式publicJLabel(String text,int aligment):创建一个带文本的标签,并设置文本的水平对齐方式
public JLabel(String text,Icon icon,int aligment): 创建一个带文本和图标的JLabel对象,并设置文本和图标的水平对齐方式。
例子:在窗体中显示文字标签
1.在Swing程序设计中,图标经常被添加到标签,按钮等组件,使用javax.swing.ImageIcon类可以依据现有的图片创建图标。
例子:在窗体中演示图标
publieJButon():创建一个不带文本成图标的按钮。
publieJButton(Sting text()):创建一个带文本的按组
public JButon(con icon): 创建一个带图标的按钮。
publieJButon(String ext,lcon icon): 创建一个带文本和图标的按钮
例子:
复选框组件有JCheckBox对象表示,与单选不同的是,窗体中的复选框可以被选中多个,这是因为每一个都提供“被选择”和“不被选中”两种状态
初次使用Swing中的下拉列表框时,会感觉到Swing中的下拉列表框与Windows操作系统中的拉列表框有一些相似,实质上两者并不完全相同,因为 Swing中的下拉列表框不仅可以供用户从中择列表项,也提供编辑列表项的功能。
JTextField 类的常用构造方法如下:
publicJTexiFied():创建一个文本未被指定的文本框。
publieJTextField(String text()):创建一个指定文本的文本框。
publicJTextField(int eldwidth):创建一个指定列宽的文本框。
publicJTextFicld(String text int fildwidth):创建一个指定文本和列宽的文本框
KevListener 接口共有 3个抽象方法,分别在发生击键事件(按下并放键)、按键被技下(手指技健但不松开)和按键被释放(手指从按下的键上松开)时被触发,具体如下,
public interface KeyListener extends EventListener (public void keyTyped(KeyEvent e);
11发生击键事件时被触发1/按键被按下时被触发1/按键被释放时被触发
public void keyPressed(KeyEvent e);public void keyReleased(KeyEvent e)
public interface MouseListener extends EventListener (
public void mouseEntered(MouseEvent e);
public void mousePressed(MouseEvent e):public void mouseReleased(MouseEvent e)
//光标移入组件时被触发//鼠标按键被按下时被触发/鼠标按键被释放时被触发//发生单击事件时被触发//光标移出组件时被触发
public void mouseClicked(MouseEvent e);
public void mouseExited(MouseEvent e):