Вот код App.java:
Код: Выделить всё
import java.awt.BorderLayout;
import javax.swing.JTextArea;
import gui.AddPanel;
import gui.Frame;
import gui.InputPanel;
import gui.MainPanel;
import gui.MultipleSelectPanel;
import gui.SelectPanel;
public class App
{
public static void main(String[] args) throws Exception
{
Frame frame = new Frame("Garden Planner");
String[] options = {"Vegetable", "Fruit", "Flower"};
MainPanel mainPanel = new MainPanel("Select Plant", options);
frame.add(mainPanel, BorderLayout.WEST);
AddPanel vegetableAddPanel = new AddPanel(
new InputPanel("Enter Vegetable kind", 20),
new InputPanel("Enter the color of the Vegetable", 20)
);
AddPanel fruitAddPanel = new AddPanel(
new InputPanel("Enter Fruit name", 20),
new InputPanel("Enter the color of the Fruit", 20)
);
String[] intensities = {"VeryStrong", "strong", "middle", "weak", "veryWeak"};
String[] days = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
String[] hours = generateHours();
AddPanel flowerAddPanel = new AddPanel(
new InputPanel("Enter Flower name", 20),
new InputPanel("Enter the color of the Flower", 20),
new SelectPanel("Smell intensity of the Flower", intensities),
new MultipleSelectPanel("watering date/time", days, hours)
);
InputPanel durationPanel = new InputPanel("Duration", 10);
flowerAddPanel.panels[flowerAddPanel.panels.length - 1].add(durationPanel);
JTextArea textArea = new JTextArea(21, 35);
textArea.setEditable(false);
frame.setVisible(true);
}
static String[] generateHours()
{
String[] hours = new String[48];
for (int i = 0; i < 24; i++)
{
if (i % 2 == 0)
{
hours[i] = String.valueOf(i / 2) + ":00 AM";
}
else
{
hours[i] = String.valueOf(i / 2) + ":30 AM";
}
}
for (int i = 24; i < 48; i++)
{
if (i / 2 - 12 == 0)
{
hours[i++] = "12:00 PM";
hours[i] = "12:30 PM";
continue;
}
else if (i % 2 == 0)
{
if (i / 2 - 12 != 0)
{
hours[i] = String.valueOf(i / 2 - 12) + ":00 PM";
}
}
else
{
hours[i] = String.valueOf(i / 2 - 12) + ":30 PM";
}
}
return hours;
}
}
Код: Выделить всё
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MainPanelAction implements ActionListener {
private PanelAction panelAction;
private Frame frame;
private AddPanel vegetableAddPanel;
private AddPanel fruitAddPanel;
private AddPanel flowerAddPanel;
public MainPanelAction(PanelAction panelAction, Frame frame, AddPanel vegetableAddPanel, AddPanel fruitAddPanel, AddPanel flowerAddPanel) {
this.panelAction = panelAction;
this.frame = frame;
this.vegetableAddPanel = vegetableAddPanel;
this.fruitAddPanel = fruitAddPanel;
this.flowerAddPanel = flowerAddPanel;
}
@Override
public void actionPerformed(ActionEvent e) {
panelAction.performAction(frame, vegetableAddPanel, fruitAddPanel, flowerAddPanel);
}
}
Я могу ошибаться, потому что большая часть моих знаний в области программирования связана с C++, и я мало практиковался в Java, поэтому решил спросить здесь.
Вот ссылка на репозиторий GitHub для полной версии проекта: https://github.com/abdomody35/Java-Term-Project
Подробнее здесь: https://stackoverflow.com/questions/784 ... ge-in-java