1. package p1;
    2. import javax.swing.*;
    3. import java.awt.*;
    4. import java.awt.event.ActionEvent;
    5. /*
    6. * Jframe 框架
    7. 是一个容器(也是框架),他是各个组件的载体。继承java.swing,jframe 来创建窗体
    8. 1.新建Jframe对象:
    9. new Jframe();创建一个没有标题的窗口;
    10. new Jframe(String str); 创建标题为str的窗口
    11. 2.常用方法
    12. setSize(int width,int height) // 设置大小
    13. setLocation(intx int y ) //设置窗口的位置。默认位置(0,0);
    14. set Bounds(int a ,int b,int width,int height);//设置窗口位置和宽度
    15. setVisible(bool b) //设置窗口是否可见 默认不可见
    16. setDefaultCloseOperation();//设置关闭方式
    17. DO_NOTHING_ON_CLOSE
    18. HIDE_ON_CLOSE
    19. DISPOSE_ON_CLOSE
    20. EXIT_ON_CLOSE
    21. 二.JDialog
    22. 继承java.awt.Dialog类 他是从一个窗体弹出来的另一个窗口 他和JFrame 类似
    23. JDialog 可以当作是JFrame 使用 但是必须从属于JFrame
    24. JDialog();
    25. JDialog(Jframe f) //指定父窗口
    26. JDialog(Jframe f,String str)//指定父窗口 加标题
    27. *
    28. 三.JPanel 是一种简单的面板 他继承java.awt.Container
    29. 四.JScrollPanle 带滚动条的面板
    30. *
    31. * */
    32. public class Windows {
    33. public static void main(String[] args) {
    34. JFrame jf = new JFrame("11");
    35. // jf.setSize(400,300);
    36. // jf.setLocation(200,500);
    37. jf.setBounds(800,300,1400,1400);
    38. jf.setVisible(true);
    39. jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    40. // JDialog jd = new JDialog(jf,"子窗口");
    41. // jd.setBounds(850,350,300,300);
    42. // jd.setVisible(true);
    43. // jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    44. //创建两个按钮
    45. JButton bt1 = new JButton("按钮1");
    46. JButton bt2 = new JButton("按钮2");
    47. //创建面板
    48. JPanel jp = new JPanel();
    49. //将按钮添加到面板中
    50. jp.add(bt1);
    51. jp.add(bt2);
    52. //将面板添加到窗体中
    53. jf.add(jp);
    54. }
    55. }
    56. /*
    57. * JButton(String str)指定文字
    58. * JButton(Icon icon)指定图标
    59. * JButton(String str Icon icon)指定文字加图标
    60. * 常用方法
    61. * setTooltipText(String Text) 设置文字
    62. * setBorderPainted(bool b)设置边框是否显示
    63. * setEnable()设置是否可用
    64. * */
    65. class Test_JButton{
    66. public static void main(String[] args) {
    67. JFrame jf = new JFrame();
    68. jf.setBounds(200,200,700,500);
    69. //修改布局方式 默认是流式布局 改为网格布局
    70. jf.setLayout(new FlowLayout());
    71. JButton button = new JButton("按钮");
    72. //设置是否可用
    73. button.setEnabled(true);
    74. //设置边界是否可用
    75. button.setBorderPainted(true);
    76. jf.add(button);
    77. jf.setVisible(true);
    78. jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    79. }
    80. }
    81. /*
    82. * Jlabel:标题组件
    83. * 文字提示以及提示信息
    84. * new JLabel()
    85. * new JLabel(Icon icon,int aligment) 图标+水平方向
    86. * new JLabel(String str,int aligment) 文本+水平方向
    87. * new JLabel(Icon icon,String str,int aligment) 图标+文本+水平方向
    88. * */
    89. class Test_Jlabel{
    90. public static void main(String[] args) {
    91. JFrame jf = new JFrame();
    92. jf.setBounds(200,200,700,500);
    93. //修改布局方式 默认是流式布局 改为网格布局
    94. // jf.setLayout(new FlowLayout());
    95. //创建标题组件
    96. JLabel jLabel = new JLabel("账号",SwingConstants.CENTER);
    97. jf.add(jLabel);
    98. jf.setVisible(true);
    99. jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    100. }
    101. }
    102. /*
    103. * 事件监听
    104. * 一个事件模型中有三个部分:事件源、事件、监听程序
    105. * 事件源:事件发生的地址
    106. * 事件:要发生的事情
    107. * 事件处理:针对这个事件 做出什么处理方案
    108. * 事件监听:将事件源和事件关联起来
    109. *
    110. * 分类: 事件 事件源 监听接口
    111. * 动作事件监听器: ActionEvent JBotton Jlist JTexFiled等 ActionListener
    112. * 焦点事件监听器: FocusEvent Component FocusListener
    113. * 监听接口: 方法:
    114. * ActionListener addActionListener removeActionListener
    115. * FocusListener addActionListener removeActionListener
    116. * */
    117. class Test_Listener{
    118. public static void main(String[] args) {
    119. JFrame jf = new JFrame("play");
    120. //设置布局
    121. jf.setLayout(new FlowLayout(FlowLayout.LEFT));
    122. jf.setBounds(400,400,400,400);
    123. //创建多行文本域
    124. JTextArea tet = new JTextArea(10,20);
    125. //设置自动换行
    126. tet.setLineWrap(true);
    127. JButton bt = new JButton("拉萨");
    128. bt.addActionListener(new AbstractAction() {
    129. @Override
    130. public void actionPerformed(ActionEvent e) {
    131. //文本域设置文字
    132. tet.append("回到拉萨!!!!\n");
    133. }
    134. });
    135. jf.add(tet);
    136. jf.add(bt);
    137. jf.setVisible(true);
    138. jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    139. }
    140. }
    141. class Airplane_battle{
    142. public static void main(String[] args) {
    143. JFrame jFrame = new JFrame("飞机大战游戏");
    144. jFrame.setBounds(700,200,1200,1200);
    145. jFrame.setLayout(new FlowLayout(FlowLayout.CENTER));
    146. JButton jButton = new JButton("点击任意键进入游戏>>>");
    147. jButton.setBorderPainted(false);
    148. jButton.setEnabled(true);
    149. jButton.addActionListener(new AbstractAction() {
    150. @Override
    151. public void actionPerformed(ActionEvent e) {
    152. JFrame jFrame = new JFrame();
    153. jFrame.setBounds(700,200,1200,1200);
    154. jFrame.setLayout(new FlowLayout(FlowLayout.LEFT));
    155. jFrame.setVisible(true);
    156. jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    157. }
    158. });
    159. jFrame.add(jButton);
    160. jFrame.setVisible(true);
    161. jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    162. }
    163. }

    16.Jframe  JDialog 框架.... - 图1