JavaSwing 船只停靠管理可视化(二)

JavaSwing 船只停靠管理可视化(一)

JavaSwing 船只停靠管理可视化(二)

JavaSwing 船只停靠管理可视化(三)

JavaSwing 船只停靠管理可视化(四)

JavaSwing 船只停靠管理可视化(五)

项目源码 :https://github.com/Wo-com/ShipPort

如果觉得不错的话就在GitHub里面给个Star吧

JavaSwing 船只停靠管理可视化主框架,效果如下:

源代码:

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JLabel;
import javax.swing.JTabbedPane;

public class Test {

    private JFrame frame;

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Test window = new Test();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    public Test() {
        initialize();
    }

    private void initialize() {
        frame = new JFrame("界面框架");
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel panel = new JPanel();
        frame.getContentPane().add(panel, BorderLayout.NORTH);

        JLabel label = new JLabel("提示文本");
        panel.add(label);

        JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
        frame.getContentPane().add(tabbedPane, BorderLayout.CENTER);

        JPanel panel_1 = new JPanel();
        tabbedPane.addTab("面板1", null, panel_1, null);
        panel_1.setLayout(null);

        JLabel label_1 = new JLabel("标签1");
        label_1.setBounds(175, 99, 61, 16);
        panel_1.add(label_1);

        JPanel panel_2 = new JPanel();
        tabbedPane.addTab("面板2", null, panel_2, null);
        panel_2.setLayout(null);

        JLabel label_2 = new JLabel("标签2");
        label_2.setBounds(184, 103, 61, 16);
        panel_2.add(label_2);

        JPanel panel_3 = new JPanel();
        tabbedPane.addTab("面板3", null, panel_3, null);
        panel_3.setLayout(null);

        JLabel label_3 = new JLabel("标签3");
        label_3.setBounds(163, 94, 61, 16);
        panel_3.add(label_3);

        JPanel panel_4 = new JPanel();
        tabbedPane.addTab("面板4", null, panel_4, null);
        panel_4.setLayout(null);

        JLabel label_4 = new JLabel("标签4");
        label_4.setBounds(178, 89, 61, 16);
        panel_4.add(label_4);
    }
}

项目效果图:

主框架源代码:

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JTabbedPane;
import javax.swing.JLabel;

public class MainUI {

    public static JFrame frame;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    new MainUI();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public MainUI() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {

        frame = new JFrame("船只停靠管理可视化");
        frame.setBounds(100, 100, 840, 500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        JPanel panel = new JPanel();
        frame.getContentPane().add(panel, BorderLayout.NORTH);

        JLabel label = new JLabel("欢迎使用,本管理系统,没有使用任何框架,界面可随意拖动,界面与数据操作分离方便修改");
        panel.add(label);

        JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
        frame.getContentPane().add(tabbedPane, BorderLayout.CENTER);

        Pane1 panel_1 = new Pane1();
        tabbedPane.addTab("泊位管理", null, panel_1, null);
        panel_1.setLayout(null);//清空布局

        Pane2 panel_2 = new Pane2();
        tabbedPane.addTab("船只管理", null, panel_2, null);
        panel_2.setLayout(null);//清空布局

        Pane3 panel_3 = new Pane3();
        tabbedPane.addTab("停靠指定", null, panel_3, null);
        panel_3.setLayout(null);//清空布局

        Pane4 panel_4 = new Pane4();
        tabbedPane.addTab("查看甘特图", null, panel_4, null);
        panel_4.setLayout(null);//清空布局

    }

}

下一篇 JavaSwing 船只停靠管理可视化(三)

原文地址:https://www.cnblogs.com/easyidea/p/11025485.html

时间: 2024-10-10 17:57:19

JavaSwing 船只停靠管理可视化(二)的相关文章

JavaSwing 船只停靠管理可视化(一)

最近抽空闲时间做了船只停靠管理系统,先看一下效果. 停靠泊位管理:实现泊位的 增删改查. JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwing 船只停靠管理可视化(五) 项目源码 :https://github.com/Wo-com/ShipPort 如果觉得不错的话就在GitHub里面给个Star吧 船只管理:实现船只的 增删改查. 停靠指定:实

JavaSwing 船只停靠管理可视化(三)

JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwing 船只停靠管理可视化(五) 项目源码 :https://github.com/Wo-com/ShipPort 如果觉得不错的话就在GitHub里面给个Star吧 JavaSwing 船只停靠管理可视化,功能选项卡实现,通过继承JPanel添加功能. MainUI 为项目框架.Pane为选项卡,选项

(C/C++)基于SharpUI控件库的插件式框架开发--第二篇可停靠管理

一个软件,不可能只有一个文档界面,会有多个甚至几十二,比如一些浏览器.文档查看等都是多个标签页的形式,在C#中开源的可停靠管理的常用的是Xceed.Wpf.AvalonDock:但是用C/C++开发的开源停靠管理库是没找到,没办法只能自己写一个了. 图1 可停靠管理项目名XPDock,其中所有控件的样式存放在“.bin\layout\Theme\Controls\XPDock.xml”:如图2: 图2 在XPDock控件中,DockingManager为控件主要控件,控件内定义添加视图方法Add

黑马程序员----内存管理之二《多对象的内存管理》

内存管理之二——<多对象的内存管理> 1.多对象的内存管理方式: 只要有人使用了这个对象,这个对象就不能被销毁: 只要你想使用这个对象,就让这个对象的引用计数器的值+1(让对象做一次retain操作): 当你不再使用这个对象,就让这个的对象的引用计数器的值-1(让对象做一次release操作): 谁alloc,谁就release: 谁retain,谁就release: 2.内存管理的代码规范: 只要调用了alloc必须有release/autorelease set方法的代码规范: 1.基本数

【操作系统】进程管理(二)

一.前言 之前已经介绍了操作系统的各个模块,现在来具体深入学习操作系统中的进程管理. 二.进程的基本概念 在未配置OS的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完成后,才允许另外一个程序执行:在多道程序环境下,则允许多个程序并发执行.也正是程序的并发执行,才导致引入进程. 2.1 程序的顺序执行 通常可以把一个应用程序分成若干个程序段,在各程序段之间,必须按照某种先后次序顺序执行,仅当前一操作(程序段)执行完后,才能执行后继操作.如典型的输入->计算->打印任务就是顺序执行. 程

服务器远程监控管理(二)-系统安装报错0xc0000001

故障现象:新购的DELL服务器,新的光驱,新刻录的光盘.安装操作系统,报0xc0000001错误,如下图:  (这么多年的老IT竟被安装系统给绊住了,真想骂娘) 故障测试:更换光驱.光盘,反复重起安装,问题依旧. 故障处理: 1. 经和DELL厂商沟通,产生此错误的原因就是光驱或光盘原因导致读盘有问题,因而无法继续安装. 2. 厂商建议1)更换光盘光驱再试    2)采用远程管理卡(IDRAC卡)网络安装操作系统. 解决方法: 1. 对于厂商给的建议1,因为已试过多次,没有再试. 2. 采用厂商

.NET组件程序设计之线程、并发管理(二)

.Net组件程序设计之线程.并发管理(二) 2.同步线程 手动同步 监视器 互斥 可等待事件 同步线程 所有的.NET组件都支持在多线程的环境中运行,可以被多个线程并发访问,如果没有线程同步,这样的后果是当多个线程同时访问 对象状态时,对象的状态可能被破坏,造成不一致性..NET提供了两种方法来避免这样的问题,使得我们设计的组件更加健壮. 第一种是自动同步,让你使用一个属性来修饰组件,这样就可以把组件交给.NET了,同步的事情也就交给了.NET. 第二种是手动同步,这是让你使用.NET提供的同步

Spring事务管理(二)

声明式事务管理方式一:基于TransactionProxyFactoryBean的方式(不常用,需要对每个要进行增强的类进行配置TransactionProxyFactoryBean) 1.引入xml配置约束 2. 声明式事务管理方式二:基于AspectJ的XML方式的配置:(经常使用,一旦配置好,类上不需要添加任何东西) 1.引入xml配置约束 2.  声明式事务管理方式三:基于注解的方式(经常使用,配置简单,但是需要在业务层类上添加@Transactional的注解) 1. 2.只要在需要进

linux 的服务与进程管理(二)

2.linux 的服务与进程管理 [2.1]系统启动流程 简单的介绍下linux的系统启动流程,方便我们深入了解linux操作系统,对排除linux系统故障进行帮助.启动流程虽然简单但背后还有着更加复杂的底层函数调用,等待咱们去研究,本节课就算抛砖引玉了. 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等