Java GUI 阅读器之面板设计
主要是模仿記事本這樣的面板設計,不過在其中還改進改進
類名:MyNote
主要軟件包:java.awt*;
javax.swing*;
代碼:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
public class MyNote extends JFrame{
private ActionListener actionListener = null;
private JTextArea textArea = null;
public MyNote(String title) {
// TODO Auto-generated constructor stub
//創建菜單事件監聽對象
actionListener = new MenuListener(this);
this.setTitle(title);
this.setJMenuBar(createMenuBar());//創建菜單欄
Container container = this.getContentPane();
TextEditFrame editFrame = new TextEditFrame();
this.textArea = editFrame.getTextEdit();
//設置邊界布局管理
container.setLayout(new BorderLayout());
//工具欄位置
container.add(createToolBar(),BorderLayout.NORTH);
container.add(editFrame,BorderLayout.CENTER);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setBounds(300, 150, 600, 400);
this.setVisible(true);
}
/**
* 創建菜單欄
* @param menuItem
* @param menuTitle
* @return
*/
private JMenu createMenu(String[] menuItems,String menuTitle){
JMenu menu = new JMenu();
JMenuItem menuItem = null;
for(int i = 0 ; i < menuItems.length ; i ++){
// 如果菜單項標題文本為Separator,則添加一個分割行
// 否則添加一個菜單
if(menuItems[i].equals("Separator")){
menu.addSeparator();
}else{
menuItem = new JMenuItem();
menuItem.setText(menuItems[i]);//設置菜單項標題
menuItem.addActionListener(actionListener);//監聽
menu.add(menuItem);
}
}
menu.setText(menuTitle);
return menu;
}
private JMenuBar createMenuBar(){
String[] fileMenuTitle = {"新建","打開","Separator","保存","另存為","Separator","退出"};//設置菜單項
String[] editMenuTitle = {"復制","剪切","粘貼"};
String[] helpMenuTitle = {"關于"};
//創建一個菜單欄對象
JMenuBar menubar = new JMenuBar();
JMenu menu = null;
//創建文件菜單
menu = createMenu(fileMenuTitle,"文件(F)");
menubar.add(menu);
menu = createMenu(editMenuTitle,"編輯(E)");
menubar.add(menu);
menu = createMenu(helpMenuTitle,"幫助(H)");
menubar.add(menu);
return menubar;
}
//創建編輯器的工具欄
private JToolBar createToolBar(){
//定義工具欄按鈕的標題文本
//String[] fileTitle={"新建","打開","保存","退出"};
String[] editTitle={"普通模式","護眼模式","夜晚模式"};
JToolBar toolBar = new JToolBar();//創建工具欄對象
JButton button = null;//按鈕
//在工具欄中添加按鈕
for(int i = 0 ; i < editTitle.length; i++){
button = new JButton(editTitle[i]);
button.addActionListener(actionListener);
toolBar.add(button);
}
toolBar.setVisible(true);
return toolBar;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MyNote note = new MyNote("文本編輯器");
}
public JTextArea getTextArea(){
return this.textArea;
}
}
后續監聽待續............
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
總結
以上是生活随笔為你收集整理的Java GUI 阅读器之面板设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微服务是怎么一回事
- 下一篇: java美元兑换,(Java实现) 美元