第一个Java Swing项目.我是走在正确的轨道上,还是在做完全不同的事情



嘿,伙计们,我得到了这个项目,我对此有一些问题。

这是任务:

您被要求创建一个基于GUI的应用程序,该应用程序将允许用户管理船队。该应用程序适用于代表不同客户管理船队的船队管理公司。

船队由多艘船只组成。最初没有船队或船只,但该应用程序将允许用户添加船队。然后,他们将能够将船只添加到船队中。船有两种类型:客船和货运船。每个船队都有一个船队识别号、拥有船队的公司名称,例如爱尔兰摩天轮,以及零艘或更多船只。每艘船都会有一个名字,例如尤利西斯,以及工作人员的数量。此外,每艘客船都有一个载客量(不能搭载乘客),以及是否可以搭载汽车。每艘货船都有一个集装箱容量。

你应该创建一个Boat超级类,它有两个子类PassengerBoat和FreightBoat。应该有一个完整的FleetManagementCompany类,可以有一个名称,例如FLeet Mgmt有限公司,最多包含5个FLeet(FLeet类)。舰队级将包含零艘或更多船只。

A部分

1.基于GUI的应用程序应允许用户创建车队管理公司记录。理论上,它将允许您创建多个车队管理公司记录。

2.它应该允许用户从车队管理公司添加/删除车队。3.它应该允许用户从船队中添加/删除船只。

B部分

船队管理公司还管理船队的航行时间表。应该有一套固定的航行路线和一套固定时间和持续时间。

1.该应用程序应允许用户为船队中的每艘船安排航行

2.您可以自由设计自己的调度功能实现。

以下是我到目前为止所做的:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;import javax.swing.border.TitledBorder;
public class Boat extends JFrame 
{

/// JTextField text = new JTextField(""  ,50);
    private static String labelPrefixs = "Fleets made: ";
    private static String labelPrefixww = "Boats usbed: ";
    private static String labelPrefix = "Number of  boats added: ";
    private int numClicks = 0;
    private int numAmy = 0;
    JLabel adbf = new JLabel(labelPrefixww + "0    ");
    JLabel addb = new JLabel(labelPrefix + "0    "); 
    JLabel amys = new JLabel(labelPrefixs + "0    "); 

    public Boat(String title) 
    {
        super(title);
        // operation to do when the window is closed.
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        setBounds(500, 500, 800, 400);
        JButton back = new JButton("Back to start!");
        JButton button = new JButton("Click here to see Fleets!");
        JButton book = new JButton("Add Boat!");
        JButton del = new JButton("Delete Boat!");
        JButton route = new JButton("Get routes!");
        final JLabel choss = new JLabel("Choose sea-line");
        final JLabel chost = new JLabel("Choose Type of boat");
        final JLabel chosb = new JLabel("Choose a boat");
         final JButton fer = new JButton("Irish ferries");
         final JButton ferr = new JButton("British ferries");
         final JButton pass = new JButton("Passanger");
         final JButton freig = new JButton("Freight");
         final JButton ifer = new JButton("Frank");
         final JButton iferr = new JButton("Amy");
         final JButton iferrr = new JButton("Jackson");
         final JButton addf = new JButton("Make a Fleet");

        addf.setFocusPainted(false);
        pass.setFocusPainted(false);
        freig.setFocusPainted(false);
        route.setFocusPainted(false);
        fer.setFocusPainted(false);
        ferr.setFocusPainted(false);
        ifer.setFocusPainted(false);
        iferr.setFocusPainted(false);
        iferrr.setFocusPainted(false);
        button.setFocusPainted(false);
        back.setFocusPainted(false);
        book.setFocusPainted(false);
        del.setFocusPainted(false);
        JPanel panel = new JPanel();
        button.setHorizontalAlignment(JButton.CENTER);

        JLabel ship1 = new JLabel( "<html><p>Owned By: Irish Fleets. <br></br> " + 
                                    "Class : B. <br></br>  " +
                                    "Passanger compacity: 300. <br></br>  " +
                                    "Seats available: 62. <br></br>     "+
                                    "Destination: Wonderland. <br></br> "+
                                    "Transport space: 5 cars. <br></br> "+" </p></html>");
        TitledBorder titled = new TitledBorder("Amy");
        ship1.setBorder(titled);
        add(ship1);
        JLabel ship2 = new JLabel( "<html><p>Owned By: Irish Fleets. <br></br> " + 
                                    "Class : A. <br></br>  " +
                                    "Passanger compacity: 200. <br></br>  " +
                                    "Seats available: 26. <br></br>     "+
                                    "Destination: Wonderland. <br></br> "+
                                    "Transport space: 15 cars. <br></br>    "+" </p></html>");
        TitledBorder titled1 = new TitledBorder("Frank");
        ship2.setBorder(titled1);
        add(ship2);
        panel.add(chost);
        panel.add(freig);
        panel.add(pass);
        panel.add(book);
        panel.add(del);
        panel.add(ship1);
        panel.add(ship2);
        panel.add(route);
        panel.add(button);
        panel.add(chosb);
        panel.add(choss);
        //panel.add(text)
        panel.add(fer);
        panel.add(ferr);
        panel.add(ifer);
        panel.add(iferr);
        panel.add(iferrr);
        panel.add(addb);
        panel.add(amys);
        panel.add(adbf);
        panel.add(back);
        panel.add(addf);
        adbf.setVisible(false);
        amys.setVisible(false);
        addb.setVisible(false);
        freig.setVisible(false);
        pass.setVisible(false);
        chost.setVisible(false);
        book.setVisible(false);
        del.setVisible(false);
        ship1.setVisible(false);
        ship2.setVisible(false);
        route.setVisible(true);
        back.setVisible(false);
        choss.setVisible(false);
        chosb.setVisible(false);
        fer.setVisible(false);
        ferr.setVisible(false);
        ifer.setVisible(false);
        iferr.setVisible(false);
        iferrr.setVisible(false);
        addf.setVisible(false);
        getContentPane().add(panel);
        setVisible(true);
        button.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            //  System.out.println("" + text.getText());
            fer.setVisible(false);
            ferr.setVisible(false);
            choss.setVisible(false);
            button.setVisible(false);
            back.setVisible(true);
            route.setVisible(false);
            chost.setVisible(true);
            freig.setVisible(true);
            pass.setVisible(true);
            amys.setVisible(false);
            addf.setVisible(false);
            adbf.setVisible(false);
            }
        });
         pass.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            //  System.out.println("" + text.getText());
            fer.setVisible(true);
            ferr.setVisible(true);
            choss.setVisible(true);
            button.setVisible(false);
            back.setVisible(true);
            route.setVisible(false);
            chost.setVisible(false);
            freig.setVisible(false);
            pass.setVisible(false);
            amys.setVisible(false);
            adbf.setVisible(false);
            }
        });
        fer.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            //  System.out.println("" + text.getText());
            ifer.setVisible(true);
            iferr.setVisible(true);
            iferrr.setVisible(true);
            choss.setVisible(false);
            chosb.setVisible(true);
            fer.setVisible(false);
            ferr.setVisible(false);
            route.setVisible(false);
            chost.setVisible(false);
            freig.setVisible(false);
            pass.setVisible(false);
            addb.setVisible(true);
            amys.setVisible(false);
            adbf.setVisible(false);
            addf.setVisible(false);
            }
        });
        iferr.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            //  System.out.println("" + text.getText());
            ifer.setVisible(true);
            iferr.setVisible(true);
            iferrr.setVisible(true);
            choss.setVisible(false);
            chosb.setVisible(false);
            fer.setVisible(false);
            ferr.setVisible(false);
            route.setVisible(false);
            iferr.setFocusPainted(true);
            ship1.setVisible(true);
            book.setVisible(true);
            chost.setVisible(false);
            freig.setVisible(false);
            pass.setVisible(false);
            addb.setVisible(true);
            ship2.setVisible(false);
            amys.setVisible(false);
            adbf.setVisible(false);
            addf.setVisible(false);
            }
        });
            ifer.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            //  System.out.println("" + text.getText());
            ifer.setVisible(true);
            iferr.setVisible(true);
            iferrr.setVisible(true);
            choss.setVisible(false);
            chosb.setVisible(false);
            fer.setVisible(false);
            ferr.setVisible(false);
            route.setVisible(false);
            ifer.setFocusPainted(true);
            ship1.setVisible(false);
            ship2.setVisible(true);
            book.setVisible(true);
            chost.setVisible(false);
            freig.setVisible(false);
            pass.setVisible(false);
            addb.setVisible(true);
            adbf.setVisible(false);
            amys.setVisible(false);
            addf.setVisible(false);
            }
        });
        back.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            //  System.out.println("" + text.getText());
            fer.setVisible(false);
            ferr.setVisible(false);
            button.setVisible(true);
            choss.setVisible(false);
            back.setVisible(false);
            chosb.setVisible(false);
            ifer.setVisible(false);
            iferr.setVisible(false);
            iferrr.setVisible(false);
            route.setVisible(true);
            ship1.setVisible(false);
            ship2.setVisible(false);
            book.setVisible(false);
            chost.setVisible(false);
            freig.setVisible(false);
            pass.setVisible(false);
            addb.setVisible(false);
            del.setVisible(false);
            addf.setVisible(false);
            }
        });
        addf.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            //  System.out.println("" + text.getText());
            fer.setVisible(false);
            ferr.setVisible(false);
            button.setVisible(true);
            choss.setVisible(false);
            back.setVisible(false);
            chosb.setVisible(false);
            ifer.setVisible(false);
            iferr.setVisible(false);
            iferrr.setVisible(false);
            route.setVisible(true);
            ship1.setVisible(false);
            ship2.setVisible(false);
            book.setVisible(false);
            chost.setVisible(false);
            freig.setVisible(false);
            pass.setVisible(false);
            addb.setVisible(false);
            del.setVisible(false);
            adbf.setVisible(true);
            amys.setVisible(true);
            amys.setText(labelPrefixs + ++numAmy);
            addf.setVisible(false);
            adbf.setText(labelPrefixww + numClicks);
            }
        });
        book.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
                addf.setVisible(true);
            addb.setVisible(true);
            addb.setText(labelPrefix + ++numClicks);
            del.setVisible(true);
        }
        });
            del.addActionListener(new ActionListener() 
        {//This is known as an anonymous function
            public void actionPerformed(ActionEvent e) 
            {
            addf.setVisible(true);
            addb.setText(labelPrefix + --numClicks);
            del.setVisible(true);
            del.setVisible(numClicks > 0);
            addf.setVisible(numClicks > 0);
        }
        });
}
    public static void main(String[] args) 
    {
        new Boat("SwingApplication");



    }
}

我的估计是:

Q1问题一在标题中。

Q2当用户添加10艘船只时,我需要"添加的船只数量"重置为0。

Q3当用户创建一个船队时,船队可以是5艘amy船和10艘frank船。。如何在"使用过的船只"的背景下使其可见

第4季度如果问题1的答案是肯定的,我就走对了。有没有办法把代码缩小一点?因为我还在添加一些东西,它只会变得越来越大,越来越令人困惑。

Q5我看了一些堆栈溢出论坛,看看如何在Jlabel中换行。他们说你不能这么做,但你可以添加HTML并制作一个(br)。有没有一种方法可以不使用HTML来换行?我的朋友做到了,我试着处理他的代码,但对我不起作用。

谢谢大家!感谢您的帮助

这可能意味着你得了癌症,但我可能错了。尽快去看医生。好运Nasus

最新更新