第一个JavaSwing项目。我是在正确的轨道上还是完全在错误的方向上?
嘿,伙计们,我得到了这个项目,我有一些关于它的问题 任务如下:第一个JavaSwing项目。我是在正确的轨道上还是完全在错误的方向上?,java,swing,Java,Swing,嘿,伙计们,我得到了这个项目,我有一些关于它的问题 任务如下: 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
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");
}
}
您需要创建一个基于GUI的应用程序,该应用程序将允许用户管理船队。该应用程序适用于代表不同客户管理船队的船队管理公司
舰队由多艘船组成。最初没有舰队或船只,但应用程序将允许用户添加舰队。然后,他们将能够为舰队添加船只。船有两种类型:客船和货船。每个船队都有一个船队识别号、拥有船队的公司名称,如爱尔兰渡轮,以及零艘或多艘船只。
每艘船将有一个名字,如尤利西斯,以及工作人员的数量。此外,每艘客船都有载客量(可载客量),以及是否可载客。每艘货船将有一个集装箱容量
您应该创建一个Boat超类,它有两个子类passengerbat和FreightBoat。应该有一个整体车队管理公司类别,可以有一个名称,例如车队管理有限公司,最多包含5个车队(车队类别)。舰队级别将包含零艘或多艘船只
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");
}
}
import javax.swing.*;
导入java.awt.*;
导入java.awt.event.*;导入javax.swing.border.TitledBorder;
公共级艇架
{
///JTextField text=新的JTextField(“”,50);
专用静态字符串labelPrefixs=“车队制造:”;
私有静态字符串labelPrefixww=“usbed:”;
私有静态字符串labelPrefix=“添加的船只数量:”;
私有int numClicks=0;
私有整数numy=0;
JLabel adbf=新的JLabel(labelPrefixww+“0”);
JLabel addb=新的JLabel(labelPrefix+“0”);
JLabel amys=新的JLabel(labelPrefixs+“0”);
公共船只(字符串标题)
{
超级(标题);
//窗口关闭时要执行的操作。
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
立根(500800400);
JButton back=新JButton(“返回开始!”);
JButton button=newjbutton(“单击此处查看车队!”);
JButton book=新JButton(“添加船!”);
jbuttondel=新JButton(“删除船!”);
JButton route=新JButton(“获取路由!”);
最终JLabel choss=新JLabel(“选择海线”);
最终JLabel chost=新JLabel(“选择船型”);
最终JLabel chosb=新JLabel(“选择一艘船”);
最终JButton fer=新JButton(“爱尔兰渡轮”);
最终JButton ferr=新JButton(“英国渡轮”);
最终扣件通行证=新扣件(“乘客”);
最终JButton freig=新JButton(“运费”);
最终JButton IFR=新JButton(“弗兰克”);
最终JButton ifer=新JButton(“艾米”);
最终JButton iferrr=新JButton(“杰克逊”);
最终JButton addf=新JButton(“组建车队”);
addf.setfocuspaint(假);
pass.setfocuspaint(假);
freig.setfocuspaint(假);
路由。设置焦点已绘制(假);
参考设置聚焦(假);
ferr.SetFocuspaint(假);
ifer.设置焦点已上色(假);
ifer.setfocuspaint(假);
iferrr.setFocusPainted(假);
按钮。SetFocuspaint(假);
back.setfocuspaint(假);
书本。设置焦点已上漆(假);
del.setfocuspaint(假);
JPanel面板=新的JPanel();
按钮设置水平对齐(JButton.CENTER);
JLabel ship1=新JLabel(所有人:爱尔兰舰队。
“+
“类别:B.
”+
“旅客城市:300。
”+
“可用座位:62。
”+
“目的地:仙境。
”+
“运输空间:5辆车。
”+“”;
标题边界标题=新标题边界(“艾米”);
ship1.订单(标题);
增加(第1船);
JLabel ship2=新JLabel(所有人:爱尔兰舰队。
“+
“类别:A.
”+
“旅客城市:200。
”+
“可用座位:26座。
”+
“目的地:仙境。
”+
“运输空间:15辆车。
”+“”;
TitledBorder titled1=新的TitledBorder(“弗兰克”);
船舶2.订单(标题1);
添加(第2条);
面板。添加(chost);
面板。添加(freig);
面板。添加(通过);
面板。添加(书本);
面板。添加(删除);
增补(第1批);
增补(第2次装运);
面板。添加(路线);
面板。添加(按钮);
增补(chosb);
面板。添加(choss);
//面板。添加(文本)