Java笔记——GUI图形界面、数据流

  • 图形界面设计
    • swing 主要继承关系

      • 顶层容器:JFrame\JApplet\JDialog\JWindow
      • 每个顶层容器有一个内容窗格(ContentPane),顶层容器中除菜单之外的组件都放在这个内容窗格中
      • 面板(JPane):面板属于中间容器,不能独立存在但可以嵌套,面板必须被添加到其他容器内部
        • FlowLayout:组件逐个地安放在容器中的一行上,一行放满后就另起一个新行
          align设定组件的对齐方式,取值有FlowLayout.LEFT、FlowLayout.RIGHT和FlowLayout.CENTER三种方式,分别表示左对齐、右对齐、居中。
          ​•hgap和vgap设定组件的水平和垂直间距
        • BorderLayout
        • GridLayout:网格式的
        • CardLayout:组件看作是一些列卡片,卡片的顺序是由组件在容器内放置的顺序决定的
        • BoxLayout:水平方向排成一行或按垂直方向排成一列
          • public BoxLayoutLayout(Container target, int axis);axis--东南西北反向
    • 事件
      • 在事件监听器类的声明中指定要实现的监听器接口名,如:public class MyListener implements XxxListener { …}
      • 实现监听器接口中的事件处理方法public void 事件处理方法名(XxxEvent e) {...//处理某个事件的代码...}
      • 在一个或多个组件上可以进行监听器类的实例的注册。如:组件对象.addXxxListener(MyListener对象);
      • 事件种类:

  • swing 组件
    • 按钮
      • JButton

      • JToggleButton:通过isSelected()方法获取当前按钮是否被选中
        • JRadioButton\JCheckBox:group进行分组,加入分组后只能单选,没加可以多选

      • JComboBox:分可编辑、不可编辑
        • setEditable(boolean)设置是否可编辑,默认是不可编辑
      • JList
      • JScrollPane
      • JTextComponent
      • JMenuBar/JPopupMenu
        • JMenu
        • JMenuItem
      • JDialog
      • JOptionPane
      • JFileChooser
  • 数据流
    • 基本字节数据流InputStream/OutputStream
      • 文件数据流:FileInputStream和FileOutputStream
        • out.write(in.read());
        • out.write(b, 7, b.length-7);
      • 缓冲区数据流:BufferedInputStream和BufferedOutputStream
        • 缓冲区满了输出,flush()强制输出

      • 数据数据流:DataInputStream和DataOutputStream

      • 管道数据流:PipedInputStream必须和类PipedOutputStream一起使用,来建立一个通信通道
      • 对象流:ObjectInputStream和ObjectOutputStream
        • Serializable接口:当一个对象声明实现Serializable接口时,表明该类加入了对象串行化协议
      • 字符输入输出流:InputStreamReader和OutputStreamWriter
      • 缓冲区读写:BufferedReader和BufferedWriter

    • 文件处理
      • File类
      • RandomAccessFile

猜你喜欢

转载自blog.csdn.net/qq_56061892/article/details/126224418