嘿伙计们我得到了这个项目,我对它有几个问题..
以下是任务:
要求您创建基于GUI的应用程序,以便用户管理船队。该应用程序适用于代表不同客户管理船队的车队管理公司。
舰队由多艘船组成。最初没有车队或船只,但应用程序将允许用户添加车队。然后他们将能够为船队添加船只。有两种类型的船:乘客和货运。每个车队都有一个车队识别号码,拥有车队的公司名称,例如爱尔兰渡轮,零或多船。 每艘船都有一个名字,例如尤利西斯,以及工作人员数量。此外,每艘客船将具有载客量(不能载运的乘客),以及是否可以载车。每艘货船都有集装箱容量。
你应该创建一个Boat超类,它有两个子类PassengerBoat和FreightBoat。应该有一个整体FleetManagementCompany类,它可以有一个名称,例如FLeet Mgmt Ltd.,最多包含5个舰队(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坦率的..如何使这个可见的“使用的船”的内容
Q4 如果对问题1的回答是肯定的,那我就走在了正确的轨道上。有没有办法让代码变小?因为即时通讯仍在为它添加东西,它只会变得更大,更混乱。
Q5 我看了几个Stack Overflow论坛,看看如何在Jlabel中进行换行。他们说你不能这样做但你可以添加HTML并制作一个(br)。有没有办法不使用HTML来换行?我的朋友做了这件事,我尝试过处理他的代码而且它对我不起作用。
谢谢大家!感谢任何帮助。
P.S 请评论您对本文的任何体验。
答案 0 :(得分:1)
对我而言,你是以错误的方式创造它。 尝试以3种方式制作应用程序(您可以像模板一样使用它): 1.主要课堂中的动作听众:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Demo1 implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("b1");
}
protected void createAndShowGUI() {
JFrame f = new JFrame();
f.setSize(800,600);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new FlowLayout());
JButton b1 = new JButton("B1");
f.add(b1);
b1.addActionListener(this);
f.setVisible(true);
}
public static void main(String[] args)
{
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run()
{
Demo1 app = new Demo1();
app.createAndShowGUI();
}
});
}
}
将anon类作为Actionlistener http://pastebin.com/CNzi1ig9
或者在其他课程中 http://pastebin.com/379dbPiZ