国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

<center id="gowuk"><nav id="gowuk"></nav></center>

<li id="gowuk"></li>
  • JFrame

    2018-01-09 19:23 更新

    Java Swing教程 - JFrame


    讓我們從最簡單的Swing程序開始。

    我們將使用JFrame(它是一個頂層容器)來創(chuàng)建我們的第一個應(yīng)用程序。要創(chuàng)建和顯示JFrame,我們需要執(zhí)行以下操作:

    • Create a JFrame object.
    • Make it visible.

    要創(chuàng)建JFrame對象,我們可以使用JFrame類的構(gòu)造函數(shù)。

    在下面的代碼中,我們使用接受字符串的構(gòu)造函數(shù)。字符串值將顯示為JFrame的標(biāo)題。

    表示Swing組件的類位于javax.swing包中,所以是JFrame類。

    以下代碼創(chuàng)建一個JFrame對象,其標(biāo)題設(shè)置為“Swing":

    // Create a  JFrame  object
    JFrame  frame  = new JFrame("Swing");
    


    顯示JFrame

    當(dāng)我們創(chuàng)建一個JFrame對象,默認(rèn)情況下,它是不可見的。我們必須調(diào)用它的 setVisible(boolean visible)方法使其可見。true參數(shù)使框架可見,隱藏框架通過false到setVisible方法。

    使JFrame在屏幕上可見

    frame.setVisible(true);
    

    以下代碼將兩個語句封裝為一個語句,以創(chuàng)建和顯示JFrame。

    new JFrame("Swing").setVisible(true);
    
    import javax.swing.JFrame;
    /*from   w  ww . jav  a2 s  . c  o  m*/
    public class Main {
      public static void main(String[] args) {
        // Create a frame
        JFrame frame = new JFrame("Swing");
        // Display the frame
        frame.setVisible(true);
      }
    }
    


    退出Swing應(yīng)用程序

    我們可以定義JFrame的四個行為之一確定當(dāng)JFrame關(guān)閉時會發(fā)生什么。

    常量在javax.swing.WindowsConstants接口中定義。

    JFrame類實(shí)現(xiàn)了WindowsConstants接口。我們可以使用JFrame.CONSTANT_NAME語法或引用所有這些常量我們可以使用WindowsConstants.CONSTANT_NAME語法。

    四個常數(shù)是

    • DO_NOTHING_ON_CLOSE
      do not do anything when the user closes a JFrame.
    • HIDE_ON_CLOSE
      hides a JFrame when the user closes it. This is the default behavior. The JFrame is invisible but the program is still running.
    • DISPOSE_ON_CLOSE
      hides and disposes of the JFrame when the user closes it. Disposing a JFrame releases any resources used by it.
    • EXIT_ON_CLOSE
      exits the application. This option will exit the application.

    我們可以通過將四個常量之一傳遞給它來設(shè)置JFrame的默認(rèn)關(guān)閉行為setDefaultCloseOperation()方法。

    以下代碼顯示了當(dāng)JFrame關(guān)閉時如何退出應(yīng)用程序

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    

    上面的JFrame沒有可視區(qū)域。它只顯示標(biāo)題欄。

    JFrame大小

    我們需要設(shè)置JFrame的大小和位置以顯示其內(nèi)容區(qū)域。

    幀的大小由其寬度和高度(以像素為單位)定義我們可以使用setSize(int width,int height)方法設(shè)置它們。

    該位置由相對于屏幕左上角的JFrame左上角的(x,y)坐標(biāo)以像素為單位定義。

    默認(rèn)情況下,它的位置設(shè)置為(0,0),這是JFrame顯示的原因在屏幕的左上角。

    我們可以使用其 setLocation(int x,int y)方法設(shè)置JFrame的(x,y)坐標(biāo)。

    要在一個步驟中設(shè)置其大小和位置,請使用其setBounds(int x,int y,int width,int height)方法。

    下面的代碼給出了JFrame的大小和位置。

    import javax.swing.JFrame;
    /* ww  w . ja v a2s .  c o  m*/
    public class Main {
      public static void main(String[] args) {
        JFrame frame = new JFrame("Swing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        // Set the x, y, width and height properties
        frame.setBounds(50, 50, 200, 200);
    
        frame.setVisible(true);
      }
    }
    

    將組件添加到JFrame

    要將JFrame放在屏幕中央,使用null參數(shù)調(diào)用其setLocationRelativeTo()方法。

    當(dāng)向JFrame添加UI控件時,我們將它們添加到JFrame的內(nèi)容窗格。

    JFrame的內(nèi)容窗格保存JFrame的Swing組件。

    要從JFrame獲取內(nèi)容窗格的引用,請使用以下代碼。

    // Create a  JFrame
    JFrame  frame  = new JFrame("Test");
    
    // Get the reference of  the   content  pane
    Container contentPane = frame.getContentPane();
    

    從JFrame獲取內(nèi)容窗格的引用后,我們可以添加組件通過使用add()方法。

    // Add aComponent to contentPane 
    contentPane.add(aComponent);
    

    下面的代碼向JFrame添加了一個JButton。JButton類的一個對象表示一個按鈕,例如消息框上的OK按鈕。

    JButton包含標(biāo)簽文本。 下一行使用關(guān)閉作為JButton的標(biāo)簽文本。

    // Create a  JButton with  Close  text
    JButton closeButton  = new JButton("Close");
    

    要將closeButton添加到JFrame的內(nèi)容窗格,我們必須做兩件事情:

    獲取JFrame的內(nèi)容窗格的引用。

    Container contentPane = frame.getContentPane();
    

    調(diào)用內(nèi)容窗格的add()方法。

    contentPane.add(closeButton);
    

    要使用一行代碼將JButton添加到JFrame,請將所有語句合并為一個語句。

    frame.getContentPane().add(new JButton("Close"));
    

    要使用一行代碼將JButton添加到JFrame,請將所有語句合并為一個語句。...

    import java.awt.Container;
    //from  ww  w. j  a  va2 s .c  o  m
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    public class Main {
      public static void main(String[] args) {
        JFrame frame = new JFrame("JFrame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container contentPane = frame.getContentPane();
    
        // Add a close button
        JButton closeButton = new JButton("Close");
        contentPane.add(closeButton);
    
        // set the size of the frame 300 x 200
        frame.setBounds(50, 50, 300, 200);
        frame.setVisible(true);
      }
    }
    

    包JFrame

    JFrame的pack()方法檢查JFrame上的所有組件,并決定它們的首選大小,并設(shè)置JFrame的大小剛好足以顯示所有組件。

    當(dāng)我們調(diào)用pack()方法時,我們不需要設(shè)置JFrame的大小。pack()方法將計算JFrame的大小并設(shè)置它。

    當(dāng)使用pack()方法時,我們不需要調(diào)用setBounds()方法。

    要在pack()方法后定位JFrame,請使用setLocation(x,y)方法。

    import java.awt.Container;
    //  w  ww  .  j a v a 2 s  .co m
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    public class Main {
      public static void main(String[] args) {
        JFrame frame = new JFrame("JFrame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        // Add a close button
        JButton closeButton = new JButton("Close");
        Container contentPane = frame.getContentPane();
        contentPane.add(closeButton);
    
        // Calculates and sets appropriate size for the frame
        frame.pack();
    
        frame.setVisible(true);
      }
    }
    

    JFrame狀態(tài)

    我們可以使用編程方式設(shè)置JFrame的狀態(tài)setExtendedState(int state)方法。

    使用在繼承JFrame類的java.awt.Frame類中定義的常量來指定狀態(tài)。

    使用在繼承JFrame類的java.awt.Frame類中定義的常量來指定狀態(tài)。...

    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    

    下表列出了定義JFrame的狀態(tài)的常量

    JFrame狀態(tài)常量 描述
    NORMAL JFrame以正常大小顯示。
    ICONIFIED JFrame顯示為最小化狀態(tài)。
    MAXIMIZED_HORIZ JFrame顯示為水平最大化,但垂直尺寸正常。
    MAXIMIZED_VERT JFrame顯示為水平最大化,但垂直尺寸正常。...
    MAXIMIZED_BOTH JFrame顯示為水平和垂直最大化。

    默認(rèn)按鈕

    有時我們可能想在JFrame或JDialog中使用默認(rèn)按鈕。默認(rèn)按鈕是的一個實(shí)例JButton類,當(dāng)用戶按下鍵盤上的一個鍵時激活。

    激活默認(rèn)按鈕的鍵由外觀定義。

    通常,激活默認(rèn)按鈕的鍵是Enter鍵。

    我們可以為JRootPane設(shè)置一個默認(rèn)按鈕,它存在于JFrame,JDialog,JWindow,JApplet和JInternalFrame中。

    通常,我們將OK按鈕設(shè)置為JDialog上的默認(rèn)按鈕。如果JRootPane設(shè)置了默認(rèn)按鈕,按Enter鍵將激活該按鈕。

    // Create a  JButton
    JButton okButton   = new JButton("OK");
    // Set  okButton   as  the   default  button 
    frame.getRootPane().setDefaultButton(okButton);
    

    窗口事件

    我們可以向JFrame或任何其他頂級Swing窗口添加一個窗口偵聽器,以便通知窗口狀態(tài)的更改。

    下面的代碼將一個窗口偵聽器添加到一個名為frame的JFrame。

    如果我們感興趣的只是監(jiān)聽幾個窗口狀態(tài)的變化,我們可以使用WindowAdapter類而不是WindowListener接口。

    WindowAdapter類提供了WindowListener接口中所有七個方法的空實(shí)現(xiàn)。

    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import java.io.IOException;
    //ww  w .  j  a  v a  2s.  c  o  m
    import javax.swing.JFrame;
    
    public class Main {
      public static void main(String[] args) throws IOException {
        JFrame frame = new JFrame();
        frame.addWindowListener(new WindowListener() {
          @Override
          public void windowOpened(WindowEvent e) {
            System.out.println("JFrame has  been  made visible first  time");
          }
    
          @Override
          public void windowClosing(WindowEvent e) {
            System.out.println("JFrame is closing.");
          }
    
          @Override
          public void windowClosed(WindowEvent e) {
            System.out.println("JFrame is closed.");
          }
    
          @Override
          public void windowIconified(WindowEvent e) {
            System.out.println("JFrame is  minimized.");
          }
    
          @Override
          public void windowDeiconified(WindowEvent e) {
            System.out.println("JFrame is restored.");
          }
    
          @Override
          public void windowActivated(WindowEvent e) {
            System.out.println("JFrame is activated.");
          }
    
          @Override
          public void windowDeactivated(WindowEvent e) {
            System.out.println("JFrame is deactivated.");
          }
        });
    
        // Use the WindowAdapter class to intercept only the window closing event
        frame.addWindowListener(new WindowAdapter() {
          @Override
          public void windowClosing(WindowEvent e) {
            System.out.println("JFrame is closing.");
          }
        });
    
      }
    }
    

    我們完成了一個窗口(JFrame,JDialog或JWindow),我們應(yīng)該調(diào)用它的dispose()方法。

    dispose()方法使窗口不可見,并將資源釋放到操作系統(tǒng)。

    以上內(nèi)容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號