zoukankan      html  css  js  c++  java
  • Swing编程概述

    Swing作为AWT组件的“强化版”,它的产生主要是为了克服AWT构建的GUI,无法在所有平台都通用的问题。允许编程人员跨平台时指定统一的GUI显示风格也是Swing的最大优势。Swing是AWT的补充,而非取代者。

    以下是Swing包的层次结构和继承关系。

    javax.swing

    Class JComponent

    • All Implemented Interfaces:
      ImageObserverMenuContainerSerializable
      Direct Known Subclasses:
      AbstractButtonBasicInternalFrameTitlePaneBoxBox.FillerJColorChooserJComboBoxJFileChooserJInternalFrameJInternalFrame.JDesktopIconJLabelJLayerJLayeredPaneJListJMenuBarJOptionPane,JPanelJPopupMenuJProgressBarJRootPaneJScrollBarJScrollPaneJSeparatorJSliderJSpinnerJSplitPaneJTabbedPaneJTableJTableHeaderJTextComponentJToolBarJToolTipJTreeJViewport
      Swing容器主要有两种,即Window和panel,window窗口又分成两种:JFrame(窗体)和Jdialog(对话框),panel面板又有两种:JPanel面板和JScrollPane(带滚动条)的面板。JPanel必须放入到JFrame这样的顶级容器中使用,可以说JPanel是为了更为精致的布局。

      窗口的编程实现步骤:
      1、继承Jframe类(Jdialog类)
      2、实例化一个Jframe对象(Jdialog对象),并调用getContentPane()方法将窗体转化成容器;
      3、设置对象的各项参数(窗体大小等),设置关闭方式(如果不设置,默认为windows常规关闭方式),完成窗口的实现。

      下面,我们看一个简单的例子。

      public class Jlayout extends JFrame{
      public void CreateJframe(String title){
      JFrame jf=new JFrame(title);//实例化一个窗体对象
      Container ct=jf.getContentPane();//将窗体转化成容器
      //JLabel jl=new JLabel("JFrame窗体示例");//
      //jl.setHorizontalAlignment(SwingConstants.CENTER);//设置标签文字的对齐方式
      //ct.add(jl);//将标签添加到容器中
      ct.setBackground(Color.white);//设置背景色
      //ct.setLayout(null);
      jf.setVisible(true);
      jf.setSize(200, 150);//设置大小
      jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      JButton bt=new JButton("点我啊");//定义一个按钮
      bt.setHorizontalAlignment(SwingConstants.CENTER);
      bt.setBounds(10, 10, 100, 21);
      bt.addActionListener(new ActionListener(){//(new ActionLinstener(){
      public void actionPerformed(ActionEvent e){
      new Jd(Jlayout.this).setVisible(true);
      }
      });
      ct.add(bt);
      }

      class Jd extends JDialog{
      public Jd(Jlayout frame){
      super(frame,"对话框",true);
      Container ct=getContentPane();
      ct.add(new JLabel("让你点你就点啊"));
      setBounds(120,120,100,100);
      }
      }

      public static void main(String args[]){
      new Jlayout().CreateJframe("");
      }

      }


  • 相关阅读:
    第一轮 J
    第一轮 M
    第一轮 L
    第一轮 K
    第一轮 I
    第一轮 H
    第一轮 F
    第一轮 E
    第一轮 C
    12杭州online E 模拟
  • 原文地址:https://www.cnblogs.com/qcxdoit/p/5443208.html
Copyright © 2011-2022 走看看