給你個小例子,已經添加注釋了。自己運行下看看效果,滿意的話記得結貼子!
十余年的京口網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網整合營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整京口建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“京口網站設計”,“京口網站推廣”以來,每個客戶項目都認真落實執行。
import java.awt.BorderLayout;
import java.awt.CheckboxMenuItem;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TestMenu extends Frame implements ActionListener{
TextArea ta; //文本區
MenuBar mb; //MenuBar 類封裝綁定到框架的菜單欄的
Menu mnFile,mnEdit,mnFormat,mnHelp; //從菜單欄部署的下拉式菜單組件
MenuItem miNew,miOpen,miSave,miSaveAs,miExit,miFont; //菜單中的所有項必須屬于類 MenuItem 或其子類之一
CheckboxMenuItem miBinary; //一個可包括在菜單中的復選框
public TestMenu(){
super("記事本"); //調用父類構造方法
ta = new TextArea("",20,20); //新建文本區,第一個參數是默認文本,第二個參數是行數,第三個是列數
/*
* BorderLayout邊框布局
* 添加文本區到Frame,BorderLayout.CENTER是居中位置
* */
add(ta,BorderLayout.CENTER);
mb = new MenuBar(); //創建菜單欄對象
/*
* 創建菜單,指定菜單名
* */
mnFile= new Menu("文件");
mnEdit= new Menu("編輯");
mnFormat= new Menu("格式");
mnHelp= new Menu("幫助");
/*
* 創建子菜單,并指定名稱
* */
miNew= new MenuItem("新建");
miOpen= new MenuItem("打開");
miSave= new MenuItem("保存");
miSaveAs= new MenuItem("另存為");
miExit= new MenuItem("退出");
miExit.addActionListener(this); //為退出菜單添加監聽
/*
* 添加上面創建的子菜單到文件菜單下
* */
mnFile.add(miNew);
mnFile.add(miOpen);
mnFile.add(miSave);
mnFile.add(miSaveAs);
mnFile.addSeparator(); //將一個分隔線或連字符添加到菜單的當前位置
mnFile.add(miExit);
miBinary= new CheckboxMenuItem("二進制"); //創建在復選框的子菜單
miFont= new MenuItem("字體"); //創建子菜單
/*
* 添加miBinary、miFont兩個子菜單到mnFormat(格式)下
* */
mnFormat.add(miBinary);
mnFormat.add(miFont);
/*
* 將文件、編輯、格式、幫助添加到菜單欄
* */
mb.add(mnFile);
mb.add(mnEdit);
mb.add(mnFormat);
mb.add(mnHelp);
setMenuBar(mb); //添加菜單欄到Frame
/*
* 關閉窗口時,關閉運行成語
* */
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String args[]){
TestMenu tm=new TestMenu();
tm.setSize(300,200); //設置窗體的寬、高
tm.setLocation(300,100); //將組件移到新位置Component類方法
tm.setVisible(true); //設置顯示窗體,true為顯示,false為隱藏
}
/**
* 監聽事件,實現ActionListener接口的actionPerformed方法
*/
public void actionPerformed(ActionEvent e){
String s = e.getActionCommand(); //獲取選中菜單的名稱
System.out.println(s);
if(s.equals("退出")){
System.exit(0); //停止運行程序
}
}
}
Menu、JMenu類里的addSeparator()方法可以插入分割線。
如果要豎直的分割線可以直接用add(new JSeparator(JSeparator.VERTICAL ))方法
java.awt.Menu類里的insertSeparator方法在指定的位置插入分隔符。
public void insertSeparator(int index)
參數:
index - 菜單分隔符應插入的位置。
拋出:
IllegalArgumentException - 如果 index 的值小于 0。
沒見過加豎杠的情況,也沒看見你的圖。。不過你要是想分類的話,可以在JMenu里加上另一個JMenu作為其附屬菜單。
菜單Menu類的對象調用addSeparator();添加分割線,此行代碼添加在你要分割線出現的位置上。
而創建復選菜單,用CheckboxMenuItem類創建菜單項就行。
至于多級菜單,只要把一個Menu類的對象添加到另一個Menu類的對象,就可以產生多級菜單了。
看代碼:
import?java.awt.Color;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JSplitPane;
import?javax.swing.SwingConstants;
public?class?Main?{
public?static?void?main(String[]?args)?throws?Exception?{
JFrame?frame?=?new?JFrame("JFrame?with?JSplitPane");
JLabel?label1?=?new?JLabel("label1");
label1.setBackground(Color.BLUE);
label1.setVerticalAlignment(SwingConstants.TOP);//設置標簽內容處于頂端
label1.setHorizontalAlignment(SwingConstants.CENTER);//設置內容居中
//?讓組件變成不透明,這樣在JLabel上所設置的顏色才能顯示出來
label1.setOpaque(true);
JLabel?label2?=?new?JLabel("label2");
label2.setBackground(Color.LIGHT_GRAY);
label2.setVerticalAlignment(SwingConstants.TOP);
label2.setHorizontalAlignment(SwingConstants.CENTER);
label2.setOpaque(true);
JLabel?label3?=?new?JLabel("label3");
label3.setBackground(Color.RED);
label3.setVerticalAlignment(SwingConstants.TOP);
label3.setHorizontalAlignment(SwingConstants.CENTER);
label3.setOpaque(true);
//加入?label1,label2?到?splitPane1?中,并設置?splitPane1?為水平分割
JSplitPane?splitPane1?=?new?JSplitPane(
JSplitPane.HORIZONTAL_SPLIT,?false,?label1,?label2);
// 設置?splitPane1?的分隔線位置,0.4?是相對于?splitPane1?的大小而定
splitPane1.setDividerLocation(0.4);
splitPane1.setResizeWeight(0.4);
JSplitPane?splitPane2?=?new?JSplitPane(
JSplitPane.VERTICAL_SPLIT,?false,?splitPane1,?label3);
splitPane2.setDividerLocation(0.5);
splitPane2.setResizeWeight(0.5);
frame.add(splitPane2);
frame.setSize(400,?300);
frame.setLocationRelativeTo(null);?//?設置居中
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
運行結果:
文章標題:java側欄分隔線代碼,java側邊欄
文章起源:http://m.newbst.com/article40/dssiieo.html
成都網站建設公司_創新互聯,為您提供域名注冊、微信公眾號、網頁設計公司、企業建站、商城網站、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯