Я учусь компьютерным наукам в первый год моего ученичества.
Вначале мы начали с процедурного Java программирования, теперь мы должны изучить объектно-ориентированное Java. Для начала мы должны запрограммировать GUI с некоторыми функциями и чем-то, чтобы сохранить некоторые строки, как в базе данных. Во всяком случае, я еще не там. Я все еще застрял в создании и структуре GUI. В нем есть все, что ему нужно, но структура, которую я пытаюсь получить, на самом деле не работает.
Итак, вот что я получил:
Test GUI. Java
import javax.swing.*;
public class TestGui {
public static void main(String[] args){
ModulGui GUI = new ModulGui();
ImageIcon img = new ImageIcon("icon.png");
GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GUI.setSize(250,350);
GUI.setIconImage(img.getImage());
GUI.setLocationByPlatform(true);
GUI.setResizable(false);
GUI.setVisible(true);
}
}
Modul Gui. java
import javax.swing.*;
import java.awt.*;
import java.security.PrivateKey;
public class ModulGui extends JFrame {
private final JLabel LabelModulID;
private final JLabel LabelModulName;
private final JLabel LabelStartDatum;
private final JTextField TextFeldModulId;
private final JTextField TextFeldModulName;
private final JTextField TextFeldStartDatum;
private final JButton ButtonHinzufuegen;
private final JButton ButtonEntfernen;
private final JButton ButtonAlleAusgeben;
public ModulGui(){
super("Modulliste");
setLayout(new FlowLayout());
GridBagConstraints GuiGrid = new GridBagConstraints();
LabelModulID = new JLabel("Modul ID");
LabelModulID.setToolTipText("Bitte Modul ID eintragen.");
GuiGrid.gridx = 0;
GuiGrid.gridy = 1;
add(LabelModulID);
LabelModulName = new JLabel("Modulname");
LabelModulName.setToolTipText("Bitte Modulnamen eintragen");
GuiGrid.gridx = 0;
GuiGrid.gridy = 2;
add(LabelModulName);
LabelStartDatum = new JLabel("Startdatum");
LabelStartDatum.setToolTipText("Startdatum des Moduls eintragen");
GuiGrid.gridx = 0;
GuiGrid.gridy = 3;
add(LabelStartDatum);
TextFeldModulId = new JTextField(25);
GuiGrid.gridx = 0;
GuiGrid.gridy = 4;
add(TextFeldModulId);
TextFeldModulName = new JTextField(25);
GuiGrid.gridx = 0;
GuiGrid.gridy = 5;
add(TextFeldModulName);
TextFeldStartDatum = new JTextField(25);
GuiGrid.gridx = 0;
GuiGrid.gridy = 6;
add(TextFeldStartDatum);
ButtonHinzufuegen = new JButton("Hinzufügen");
GuiGrid.gridx = 0;
GuiGrid.gridy = 7;
add(ButtonHinzufuegen);
ButtonEntfernen = new JButton("Entfernen");
GuiGrid.gridx = 0;
GuiGrid.gridy = 8;
add(ButtonEntfernen);
ButtonAlleAusgeben = new JButton("Alle Ausgeben");
GuiGrid.gridx = 0;
GuiGrid.gridy = 9;
add(ButtonAlleAusgeben);
}
}
Извините Может быть, проблема действительно проста, но, как я уже сказал, m довольно новичок в программировании: D Я также пробовал это с setBounds и setLayout (null) ... Ну, на самом деле, тоже не сработало.
Я хочу структурировать свой код следующим образом:
LabelModulID
TextFeldModulID
LabelModulName
TextFeldModulName
LabelStartDatum
TextFeldStartDatum
ButtonHinzufuegen
ButtonEntfernen
ButtonAlleAusgeben
Вы, ребята, представляете, как я могу это сделать?
И знает ли кто-нибудь, как я могу использовать объекты или что-то еще для хранения некоторых модулей (модулей), например, в базе данных. Как класс Modulelist и Module.
Заранее спасибо, ребята !!
// Редактировать //
Итак, это новый код, который я получил с вашей помощью. Выглядит не очень хорошо, но для второй попытки неплохо:
import javax.swing.*;
import java.awt.*;
import java.security.PrivateKey;
public class ModulGui extends JFrame {
public final JPanel panelModulID = new JPanel();
public final JPanel panelModulName = new JPanel();
public final JPanel panelStartDatum = new JPanel();
public final JPanel panelButtons = new JPanel();
private final JLabel LabelModulID;
private final JLabel LabelModulName;
private final JLabel LabelStartDatum;
private final JTextField TextFeldModulId;
private final JTextField TextFeldModulName;
private final JTextField TextFeldStartDatum;
private final JButton ButtonHinzufuegen;
private final JButton ButtonEntfernen;
private final JButton ButtonAlleAusgeben;
public ModulGui(){
super("Modulliste");
setLayout(new FlowLayout(FlowLayout.CENTER));
LabelModulID = new JLabel("Modul ID");
LabelModulID.setToolTipText("Bitte Modul ID eintragen.");
panelModulID.add(LabelModulID);
LabelModulName = new JLabel("Modulname");
LabelModulName.setToolTipText("Bitte Modulnamen eintragen");
panelModulName.add(LabelModulName);
LabelStartDatum = new JLabel("Startdatum");
LabelStartDatum.setToolTipText("Startdatum des Moduls eintragen");
panelStartDatum.add(LabelStartDatum);
TextFeldModulId = new JTextField(25);
panelModulID.add(TextFeldModulId);
TextFeldModulName = new JTextField(25);
panelModulName.add(TextFeldModulName);
TextFeldStartDatum = new JTextField(25);
panelStartDatum.add(TextFeldStartDatum);
ButtonHinzufuegen = new JButton("Hinzufügen");
panelButtons.add(ButtonHinzufuegen);
ButtonEntfernen = new JButton("Entfernen");
panelButtons.add(ButtonEntfernen);
ButtonAlleAusgeben = new JButton("Alle Ausgeben");
panelButtons.add(ButtonAlleAusgeben);
add(panelModulID);
add(panelModulName);
add(panelStartDatum);
add(panelButtons);
}
}
И получается вот что: