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;

}

}

后续监听待续............

时间: 2024-10-25 08:06:43

Java GUI 阅读器之面板设计的相关文章

第14篇-JAVA GUI编程

第14篇-JAVA GUI编程 每篇一句 :道路一开始开辟的时候总是存在障碍的 初学心得: 原本下定决心才能开始的事情也变得理所当然 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-25| JAVA GUI编程 ] 1.什么是界面 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面 与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受 2.Java 基础类 JFC 的基本

JAVA GUI 工具

Java GUI图形界面开发工具 上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也很久没有更新了,不过据说短小精悍,五脏俱全.SWT Designer不久前也被Google收购后重新整合进自己的产品中,然后开源了,现在名字叫:WindowBuilder Pro,看上去界面组件很丰富强大的样子,支持Swing, AWT, SWT, 以及Google自家的GWT等等. 目前JAVA图形界

JAVA GUI

JAVA GUI中的事件处理: 委托事件模型:事件源对象和监听器对象具有绑定关系 一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型 设置容器的布局管理器为空白布局管理器时,注意设置组件的位置和大小以免出现组件显示不出来的问题:设置容器的布局管理器为流布局管理器时,下拉列表的输入框设置为可编辑时会默认扩大下拉列表的输入框长度,另外可以通过设置一个字符串内容为空格字符串的标签调整其他组件的位置,特别的对于文本框组件来说可以通过setColumns()方法调整文

JAVA GUI编程学习笔记目录

1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之GUI编程窗体事件 6.JAVA之GUI编程Action事件 7.JAVA之GUI编程鼠标事件 8.JAVA之GUI编程键盘码查询器 9.JAVA之GUI编程列出指定目录内容 10.JAVA之GUI编程弹出对话框Dialog 11.JAVA之GUI编程菜单 12.JAVA之GUI编程打开与保存文件 13.JAVA之GUI编程将程序打包jar JA

Java GUI 基础 Eight Puzzle (拼图游戏)

很简单使用java GUI 制作一个简单的拼图游戏 // main package HW1; import java.io.IOException; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class HW1 extends JFrame{ /** * */ public HW1_0586(String s

Java -GUI开发九九乘法表

Java GUI开发九九乘法表 (1)实现目标: 利用java自带的awt包,基础控件开发一个九九乘法表,点击可以显示对应的乘法口诀. (2)控件选择: 点击--Button 显示--TextField (3)界面设计:总体设计布局 (4)主窗体编写 将程序在屏幕中央区显示 1 /*窗口居中显示*/ 2 int Win_width=fr.getWidth(); 3 int Win_Height=fr.getHeight(); 4 Toolkit kit = Toolkit.getDefaultT

Java GUI编程中AWT/swing/SWT的优缺点

http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具包)的缩写,是SUN专门针对Java GUI编程提供的最早的也是最初的开发工具包,用来建立和设置Java图形用户界面,这个工具包提供了一套与本地图形界面交互的接口.AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系(peers).也就是说,当我们利用 AWT 来构件图形用户界面的时

java GUI编程(swing)之二swing按钮组件

swing的按钮组件.在widgets 类中. 要使用按钮,必须要导入JButton import javax.swing.JButton; 按钮需要加入到Frame里面 package gui; import java.awt.Frame; import javax.swing.JFrame; import javax.swing.JButton; /** * Created by admin on 2017/6/30. * java gui 学习 */ public class Gui ex

Java GUI:将JPanel添加进JScrollPane

实现的目标: 因为在滚动框中含有很多个Java GUI 组件,因此这里采用JPanel面板包住这些组件,在用JScrollPane实现滚动 问题1:布局揉在一起 JPanel有自己默认的布局方式,因此在这里我们要自己设置流式布局 jPanel_qanda.setLayout(null); 问题2:滚动条未生效 刚开始的时候我是直接设置JPanel的大小 setSize(int width, int height) 不管设置多大,都没有滚动条 最后百度,看到了一个博客:https://www.cn