当前位置 博文首页 > 没有永远的渣渣:Java Swing

    没有永远的渣渣:Java Swing

    作者:[db:作者] 时间:2021-06-24 12:43

    容器是放置界面组件的地方,在Swing中提供了两个容器,一个是Jframe,它是一个最基本的窗口容器,一个是Jpanel,也称为面板,面板可以放置在Jframe容器或者Applet上。

    常用的布局方式是首先设计几个Jpanel面板,再将组件添加到Jpanel上,然后将Jpanel按照布局要求在添加到Jframe上。

    Jframe容器。是java.awt.Frame的扩展版本,是一个Windows子类,在使用swing类库实现用户接口时,必须继承该类。他是一个最重要的顶层容器,西安市效果是一个窗体,带有边框、标题,并支持关闭和最小最大化按钮组件的一个窗口。

    public Container getContentPane(): 该方法返回一个框架对象,使用该框架对象来添加组件,如增加按钮、菜单、工具栏、列表框等组件。
    setSize(int width, intheight):设置窗口尺寸、窗口大小以像素为单位计算。
    show():显示窗口。

    (1)创建窗体类Jframe的实例

    JFrame frame = new JFrame();   or   JFrame frame = new JFrame("FrameDemo");

    (2)设置窗体的标题内容(可选)

    frame.setTitle("FrameDemo");

    (3)设置关闭窗体的时候,会发生什么(可选)

    frame.setDefalutCloseOperation(JFrame.EXIT_ON_CLOSE);

    只有一个窗体的情况下,单击窗口标题栏的关闭图标,退出程序。

    (4)创建一些组件并把它们加入到窗体中

    // ...创建空白标签emptyLabel...
    frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

    (5)调整窗体大小

    frame.pack();

    pack方法调用窗体的大小,是窗体的内容以最合适的大小显示。可代替pack()方法的另外方法是,通过显式调用setSize()或setBounds()[setBounds()可以设置窗体的位置]方法来创建一个窗体。

    (6)显示窗体

    frame.setVisible(true);

    调用setVisible(true)方法是窗体显示在屏幕上

    ?JPanel容器。是个通用容器,在该容器上可以防止其他组件如单选按钮、列表框等。面板创建后是无法单独显式的。必须放在JFrame或Applet这样的顶层窗口中才可以显示。

    构造函数:

    JPanel()//创建一个面板,并且该面板上的布局管理器为FlowLayout()
    JPanel( LayoutManager layout ) //创建一个面板,并且该面板设置了指定的布局管理器。

    Swing 组件

    基本组件包括按钮组件Jbutton、复选框按钮JCheckBox、组合框按钮JComboBox、菜单组件JMenu、单选按钮组件JRadioButton、滑块组件JSlider、微调组制组件JSpinner、文本框组件JTextFeld和密码框组件JpasswordField。

    按钮组件JButton:文本可提示快捷键,可相对图标任意放置,使用ActionListener.它们都是 AbstractButton类的子孙类。根据程序要求选用相应的组件,实例化这类对象即可。

    AbstractButton
    JButton  普通按钮
    JCheckBox 复选按钮
    JRadioButton 一组单选按钮中的一个
    JMenuItem  菜单中的一个菜单项
    JCheckBoxMenuItem   带有复选框的菜单项
    JRadioButtonMenuItem   带有单选按钮的菜单项
    JToggleButton   实现由JCheckBox和JRadioButton所继承的toggle功能。

    使用按钮的示例代码:

    JButton button1;       //  声明一个按钮
    JButton button1 = new JButton;    //   实例化按钮
    JPanel.add( button1 );    //  向内容面板中添加按钮

    复选框按钮JCheckBox:可以选中或取消,使用ItemListener,复选框和单选框都是开关按钮JToggleButton的子类。在一组复选框中可以选择任意数量的项,不选,选中一部分,选中所有的项。

    使用复选框示例代码如下:

    JCheckBox checkbox1;      // 声明复选框对象
    JCheckBox checkbox1 = new JCheckBox("读书");  // 实例化复选框
    JPanel.add(checkbox1);   // 向内容面板中添加复选框

    单选按钮组件JRadioButton

    通常用ButtonGroup组合起来,每个单选按钮只能选择一个,使用SctionListener.

    使用单选按钮的示例代码:

    JRadioButton radiobutton1;
    JRadioButton radiobutton1 = newJRadioButton();
    JPanel.add(radiobutton1);

    文本框组件JTextField

    接受用户输入的单行文本信息。

    JTextField textfield = newJTextField("请输入姓名");
    或
    JTextField textfield = new JTextField();
    textfield.setText("请输入姓名");

    密码框组件JPasswordField

    示例代码:

    JPasswordField passwordfield = newJPasswordField(16);
    或
    JPasswordField passwordfield = newJPasswordField(16);
    passwordfield.setEchoChar("@"); 
    

    组件框组件JComboBox

    它的特征是拥有一个按钮和一个选择值的下拉列表。

    String[ ] petName = { "小狗",“小猫”,“小猪”};
    JComboBox comboBox = new JComboBox(petName);
    comboBox.setSelectedIndex(3);

    滑块组件JSlider: 滑块可以显示主刻度标记和次刻度标记

    JSlider slider1;
    JSlider slider1 = new JSlider();
    JPanel.add(slider1);

    不可编辑的信息显示组件:swing补课编辑的组件只是给用户提供信息,不能编辑。这些组件包括标签组件JLabel、进度条组件JProgressBar和工具提示组件JtoolTip.

    标签组件JLabel: 显示文本和图标

    JLabel label1;   // 声明标签对象
    JLabel llabel1 = new JLabel();   //  创建只含有文本的标签对象
    JPanel.add(label1);   // 向内容面板中添加微调组制