国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java Swing中的工具欄(JToolBar)和分割面版(JSplitPane)組件使用案例

2019-11-26 15:23:44
字體:
來源:轉載
供稿:網友

一:工具欄(JToolBar)

代碼示例:

復制代碼 代碼如下:

import javax.swing.*;

//工具欄的使用案例
public class JToolBarDemo2_jigloo extends javax.swing.JFrame {

 private JToolBar myJToolBar;
 private JButton jB_file;
 private JButton jB_edit;
 private JButton jB_tools;
 private JButton jB_help;

 public static void main(String[] args) {
  SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    JToolBarDemo2_jigloo inst = new JToolBarDemo2_jigloo();
    inst.setLocationRelativeTo(null);
    inst.setVisible(true);
   }
  });
 }

 public JToolBarDemo2_jigloo() {
  super();
  initGUI();
 }

 private void initGUI() {
  try {
   setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
   getContentPane().setLayout(null);
   getContentPane().setBackground(new java.awt.Color(255, 128, 255));
   {
    myJToolBar = new JToolBar();
    getContentPane().add(myJToolBar);
    myJToolBar.setBounds(29, 12, 320, 38);
    myJToolBar.setBackground(new java.awt.Color(255, 255, 255));
    {
     jB_file = new JButton();
     myJToolBar.add(jB_file);
     jB_file.setText("/u6587/u4ef6");
     jB_file.setPreferredSize(new java.awt.Dimension(80, 34));
     jB_file.setIcon(new ImageIcon("images//AddNode.jpg"));
     jB_file.setFont(new java.awt.Font("楷體", 0, 14));
     jB_file.setToolTipText("點此每次新增一個結點");
     jB_file.setBackground(new java.awt.Color(255, 255, 128));
    }
    {
     jB_edit = new JButton();
     myJToolBar.add(jB_edit);
     jB_edit.setText("/u7f16/u8f91");
     jB_edit.setToolTipText("點此每次新增一個結點");
     jB_edit.setIcon(new ImageIcon("images//AddSide.jpg"));
     jB_edit.setFont(new java.awt.Font("楷體", 0, 14));
     jB_edit.setBackground(new java.awt.Color(255, 255, 128));
     jB_edit.setToolTipText("首次點擊結束結點輸入,然后增加一條邊");
     jB_edit.setPreferredSize(new java.awt.Dimension(78, 34));
    }
    {
     jB_tools = new JButton();
     myJToolBar.add(jB_tools);
     jB_tools.setText("/u89c6/u56fe");
     jB_tools.setIcon(new ImageIcon("images//DrawFigure.jpg"));
     jB_tools.setFont(new java.awt.Font("楷體", 0, 14));
     jB_tools.setBackground(new java.awt.Color(255, 255, 128));
     jB_tools.setToolTipText("首次點擊結束邊的輸入,然后繪制圖形");
     jB_tools.setPreferredSize(new java.awt.Dimension(94, 34));
    }
    {
     jB_help = new JButton();
     myJToolBar.add(jB_help);
     jB_help.setText("/u5e2e/u52a9");
     jB_help.setIcon(new ImageIcon("images//ShortestPath.jpg"));
     jB_help.setFont(new java.awt.Font("楷體", 0, 14));
     jB_help.setBackground(new java.awt.Color(255, 255, 128));
     jB_help.setToolTipText("首次點擊變換按鈕,選擇起始點求其最短路徑");
     jB_help.setPreferredSize(new java.awt.Dimension(95, 34));
    }
   }
   pack();
   setSize(400, 300);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

4.運行截圖:

二:Split Pane(分割面版):

1.基本說明:

    Split Pane(分割面版)一次可將兩個組件同時顯示在兩個顯示區中,若你想要同時在多個顯示區顯示組件,你便必須同時使用多個Split Pane。JSplitPane提供兩個常數讓你設置到底是要水平分割還是垂直分割。這兩個常數分別是:HORIZONTAL_SPIT,VERTICAL_SPLIT.除了這兩個重要的常數外,JSplitPane還提供許多類常數讓你使用

2.常用方法:

(1).JsplitPane構造方法:

JSplitPane():建立一個新的JSplitPane,里面含有兩個默認按鈕,并以水平方向排列.但沒有Continuous Layout功能.  

例如:JSplitPane jSplitPane1 = new JSplitPane();

截圖:

JSplitPane(int newOrientation):建立一個指定水平或垂直方向切割JSplitPane,但沒有Continuous Layout功能。

JSplitPnae(int newOrientation,boolean newContinuousLayout): 建立一個指定水平或垂直方向切割的JSplitPane,且指定是否具有Continuous Layout功能。

JSplitPane(int newOrientation,COmponent newLeftComponent,COmponent newRightComponent):建立一個指定水平或垂直方向切割的JSplitPane,且指定顯示區所要顯示的組件,但沒有Continuous Layout功能。

例如:jSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jScrollPane,jLabel);

截圖:

JSplitPane(int newOrientation,boolean newContinuousLayout,Component newLeftComponent,Component newRightComponent):建立一個指定水平或垂直方向切割的JSplitPane,且指定顯示區所要顯示的組件,并設置是否Continuous Layout功能。

上面所說的Continuous Layout意思是指當你拖曳切割面版的分隔線時,窗口內的組件是否會隨著分隔線的拖曳而動態改變大小。

3.代碼示例:

復制代碼 代碼如下:

package com.JSplitPaneDemo.com;

import java.awt.*;
import javax.swing.*;

public class JSplitPaneDemo3 {
 JFrame f;
 Container contentPane;
 public JSplitPaneDemo3() {
  f = new JFrame("JSplitPaneDemo2");
  contentPane = f.getContentPane();

  JLabel label1 = new JLabel("Label 1", JLabel.CENTER);
  label1.setBackground(Color.green);
  // setOpaque(ture)方法的目的是讓組件變成不透明,這樣我們在JLabel上所設置的顏色顯示出來。
  label1.setOpaque(true);

  JLabel label2 = new JLabel("Label 2", JLabel.CENTER);
  label2.setBackground(Color.pink);
  label2.setOpaque(true);

  JLabel label3 = new JLabel("Label 3", JLabel.CENTER);
  label3.setBackground(Color.yellow);
  label3.setOpaque(true);

  /*
   * 加入label1,label2到splitPane1中,并設置此splitPane1為水平分割且具有Continuous Layout的
   * 功能。
   */

  JSplitPane splitPane1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
    false, label1, label2);
  /*
   * 設置splitPane1的分隔線位置,0.3是相對于splitPane1的大小而定,因此這個值的范圍在0.0~1.0
   * 中。若你使用整數值來設置splitPane的分隔線位置,如第34行所示,則所定義的值以pixel為計算單位
   */
  splitPane1.setDividerLocation(0.3);
  splitPane1.setResizeWeight(0.3);
  
  //設置JSplitPane是否可以展開或收起(如同文件總管一般),設為true表示打開此功能。
  splitPane1.setOneTouchExpandable(true);
  splitPane1.setDividerSize(10);// 設置分隔線寬度的大小,以pixel為計算單位。

  JSplitPane splitPane2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
    false, splitPane1, label3);
  splitPane2.setDividerLocation(35);
  // 設置JSplitPane是否可以展開或收起(如同文件總管一般),設為true表示打開此功能.
  splitPane2.setOneTouchExpandable(false);
  splitPane2.setDividerSize(5);

  contentPane.add(splitPane2);
  f.setSize(250, 200);
  f.setLocation(300, 200);
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }

 public static void main(String[] args) {
  new JSplitPaneDemo3();
 }
}

4.運行截圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巨野县| 北碚区| 江口县| 陇川县| 中方县| 广州市| 闽清县| 大荔县| 苍山县| 克东县| 中方县| 宁陵县| 榆树市| 夏津县| 晋城| 新沂市| 甘泉县| 江口县| 新丰县| 吉隆县| 泾川县| 巴彦淖尔市| 抚宁县| 绿春县| 酒泉市| 和平区| 台江县| 土默特左旗| 乌苏市| 高唐县| 宣城市| 汕头市| 江永县| 凉山| 涟水县| 元阳县| 天气| 江安县| 河东区| 如东县| 中方县|