Witam wszystkich.
Tworze mala aplikacje do malo waznych celow. Przyznaje, w javie i swingu to moja pierwsza, dlatego prosze o wyrozumialosc.
Problem mam nastepujacy.
Finalnie aplikacja powinna wygladac nastepujaco
i problem mam taki iz podzielilem sobie ladnie elementy na osobne klasy/pliki. Poki co wyglada to mniej wiecej tak:
package jbexporter.gui;
import javax.swing.*;
import java.awt.*;
/**
* Created by Skubby.
*/
public class MainFrame extends JFrame {
private JMenu types = new JMenu("Types");
private JMenuItem vests = new JMenuItem("Vests");
// inne elementy
/**
* Constructor
*/
public MainFrame() {
super("Example title");
init();
}
/**
* Init elements
*/
private void init() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(900, 800);
setJMenuBar(initMenu());
setLayout(new BorderLayout());
add(new CommonPanel(), BorderLayout.NORTH);
add(new OptionsPanel(), BorderLayout.WEST);
add(new SubmitPanel(), BorderLayout.EAST);
}
/**
* Init menu
* @return JMenuBar
*/
private JMenuBar initMenu() {
JMenuBar menuBar = new JMenuBar();
//dodawanie innych typow
types.add(vests);
menuBar.add(types);
return menuBar;
}
}
package jbexporter.gui;
import javax.swing.*;
import java.awt.*;
/**
* Created by Skubby.
*/
public class CommonPanel extends JPanel {
private JLabel nameLabel = new JLabel("CommonPanel");
/**
* Constructor
*/
public CommonPanel() {
setBackground(Color.yellow);
setPreferredSize(new Dimension(900, 400));
add(nameLabel);
}
}
package jbexporter.gui;
import javax.swing.*;
import java.awt.*;
/**
* Created by Stubby.
*/
public class OptionsPanel extends JPanel {
private JLabel nameLabel = new JLabel("Options panel");
/**
* Constructor
*/
public VestOptionsPanel() {
setBackground(Color.red);
setPreferredSize(new Dimension(450, 400));
add(nameLabel);
}
}
package jbexporter.gui;
import javax.swing.*;
import java.awt.*;
/**
* Created by Skubby.
*/
public class SubmitPanel extends JPanel {
private JLabel nameLabel = new JLabel("Submit panel");
/**
* Constructor
*/
public SubmitPanel() {
setBackground(Color.green);
setPreferredSize(new Dimension(450, 400));
add(nameLabel);
}
}
I o co w tym chodzi:
Mianowicie o to, ze
- po kliknieciu jakiegos elementu menu panele common i submit pozostaja bez zmian, zas panel options sie zmienia (dla kazdego elementu jest osobny)
- W panelu submit bedzie button ktory bedzie robil swoje na podstawie danych z wszystkich trzech paneli.
I w czym mam problem:
- jak z poziomu panelu submit dostac dane z pozostalych dwoch paneli.
- zamiana panelu options po akcji(click) w menu (w ogole to zastanawialem sie nad przeniesieniem calego menu do osobnego pliku klasy, ale wtedy tez pojawia sie problem dostepu).
Bylbym wdzieczny za podpowiedz, naprowadzenie. Nie prosze o konkretne rozwiazanie. Wiem, ze moje problemy sa trywialne, ale prosze o wyrozumialosc.
Skubby.
- Untitled.jpg (17 KB) - ściągnięć: 125