D
Dany78
Gast
Guten Abend all
ich habe eine Klasse welches mir mein Gui konstruiert etc. Nun möchte ich den Status der Checkboxen in allen anderen Klassen abfragen. Es muss doch hierfür eine bessere Möglichkeit geben als alle Werte "klassisch" mitzuübergeben? Das kann ja je nach Tiefe in einer Orgie ausarten.
[Java]
public class zeigetwas {
public static void zeig(){
if (button_button1.isSelected()) //Falsch
{
System.out.println("Hello World");
}
}
}
[/Java]
Der GUI Builder
[Java]
public class oberflaeche extends JPanel implements ActionListener {
static private String results = null;
final static JTextArea text = new JTextArea(25,45);
JFileChooser fc;
static String dir_export_name;
static String file_name;
static private final String newline = "\n";
public oberflaeche() {
fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
}
public static void main(String[] args) {
oberflaeche gui = new oberflaeche();
gui.createAndShowGUI();
}
public void createAndShowGUI() {
JFrame jf=new JFrame("Oberfläche");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(700,500);
jf.setLayout(new GridBagLayout());
jf.setVisible(true);
GridBagConstraints c = new GridBagConstraints();
//leftup
JPanel leftup=new JPanel();
leftup.setLayout(new GridLayout(5,1));
c.gridx = 0; //x grid position
c.gridy = 0; //y grid position
c.insets = new Insets( 5, 5, 5, 5 );
c.weightx = 1.0;
leftup.add(Box.createRigidArea(new Dimension(0, 10)));
// Checkboxen für Leftup
JLabel label = new JLabel("test");
leftup.add(label);
JCheckBox button_button1=new JCheckBox("Button01");
button_button1.setSelected(true);
JCheckBox button_button2=new JCheckBox("Button02");
button_button2.setSelected(true);
JCheckBox button_button3=new JCheckBox("Button03");
button_button3.setSelected(true);
leftup.add(button_button1);
leftup.add(button_button2);
leftup.add(button_button3);
button_button1.addActionListener(new button_button1_Listener());
button_button2.addActionListener(new button_button2_Listener());
jf.add(leftup, c);
//leftdown
JPanel leftdown=new JPanel();
leftdown.setLayout(new GridLayout(5,1));
c.gridx = 0; //x grid position
c.gridy = 1; //y grid position
//c.anchor = GridBagConstraints.CENTER;
c.insets = new Insets( 5, 5, 5, 5 );
c.weightx = 1.0;
JButton button_convert=new JButton();
button_convert.setText("Starten");
leftdown.add(button_convert);
jf.add(leftdown, c);
//TextArea
JPanel textpanel= new JPanel();
text.setLineWrap(true);
textpanel.add(new JScrollPane(text));
textpanel.add(text);
c.gridx=1;
c.gridy=0;
c.gridheight=2;
c.gridwidth=2;
c.fill=GridBagConstraints.BOTH;
jf.add(textpanel, c);
// Menübar
JMenuBar menüleiste = new JMenuBar();
JMenu menüDatei = new JMenu("Datei");
JMenuItem menüPunktNeu = new JMenuItem("Neu");
JMenuItem menüPunktSpeichern = new JMenuItem("Speichern");
JMenuItem menüPunktEnde = new JMenuItem("Ende");
//menüPunktEnde.addActionListener(new EndeButtonListener());
JMenu menüAbout = new JMenu("About");
JMenuItem menüPunktAbout = new JMenuItem("About");
menüDatei.add(menüPunktNeu);
menüDatei.add(menüPunktSpeichern);
menüDatei.add(menüPunktEnde);
menüAbout.add(menüPunktAbout);
menüleiste.add(menüDatei);
menüleiste.add(menüAbout);
jf.setJMenuBar(menüleiste);
//Filechooser
jf.add(new oberflaeche());
button_convert.addActionListener(new Button_Converter_Listener());
}
// Listener
public class Button_Converter_Listener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
zeigetwas ze=new zeigetwas();
ze.zeig();
}
}
public class button_button2_Listener implements ActionListener {
public void actionPerformed(ActionEvent e)
{
}
}
public class button_button1_Listener implements ActionListener {
public void actionPerformed(ActionEvent ev1)
{
Object src = ev1.getSource();
}
}
public static void appendText(final String _textToAppend)
{
text.append(_textToAppend);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
[/Java]
ich habe eine Klasse welches mir mein Gui konstruiert etc. Nun möchte ich den Status der Checkboxen in allen anderen Klassen abfragen. Es muss doch hierfür eine bessere Möglichkeit geben als alle Werte "klassisch" mitzuübergeben? Das kann ja je nach Tiefe in einer Orgie ausarten.
[Java]
public class zeigetwas {
public static void zeig(){
if (button_button1.isSelected()) //Falsch
{
System.out.println("Hello World");
}
}
}
[/Java]
Der GUI Builder
[Java]
public class oberflaeche extends JPanel implements ActionListener {
static private String results = null;
final static JTextArea text = new JTextArea(25,45);
JFileChooser fc;
static String dir_export_name;
static String file_name;
static private final String newline = "\n";
public oberflaeche() {
fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
}
public static void main(String[] args) {
oberflaeche gui = new oberflaeche();
gui.createAndShowGUI();
}
public void createAndShowGUI() {
JFrame jf=new JFrame("Oberfläche");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(700,500);
jf.setLayout(new GridBagLayout());
jf.setVisible(true);
GridBagConstraints c = new GridBagConstraints();
//leftup
JPanel leftup=new JPanel();
leftup.setLayout(new GridLayout(5,1));
c.gridx = 0; //x grid position
c.gridy = 0; //y grid position
c.insets = new Insets( 5, 5, 5, 5 );
c.weightx = 1.0;
leftup.add(Box.createRigidArea(new Dimension(0, 10)));
// Checkboxen für Leftup
JLabel label = new JLabel("test");
leftup.add(label);
JCheckBox button_button1=new JCheckBox("Button01");
button_button1.setSelected(true);
JCheckBox button_button2=new JCheckBox("Button02");
button_button2.setSelected(true);
JCheckBox button_button3=new JCheckBox("Button03");
button_button3.setSelected(true);
leftup.add(button_button1);
leftup.add(button_button2);
leftup.add(button_button3);
button_button1.addActionListener(new button_button1_Listener());
button_button2.addActionListener(new button_button2_Listener());
jf.add(leftup, c);
//leftdown
JPanel leftdown=new JPanel();
leftdown.setLayout(new GridLayout(5,1));
c.gridx = 0; //x grid position
c.gridy = 1; //y grid position
//c.anchor = GridBagConstraints.CENTER;
c.insets = new Insets( 5, 5, 5, 5 );
c.weightx = 1.0;
JButton button_convert=new JButton();
button_convert.setText("Starten");
leftdown.add(button_convert);
jf.add(leftdown, c);
//TextArea
JPanel textpanel= new JPanel();
text.setLineWrap(true);
textpanel.add(new JScrollPane(text));
textpanel.add(text);
c.gridx=1;
c.gridy=0;
c.gridheight=2;
c.gridwidth=2;
c.fill=GridBagConstraints.BOTH;
jf.add(textpanel, c);
// Menübar
JMenuBar menüleiste = new JMenuBar();
JMenu menüDatei = new JMenu("Datei");
JMenuItem menüPunktNeu = new JMenuItem("Neu");
JMenuItem menüPunktSpeichern = new JMenuItem("Speichern");
JMenuItem menüPunktEnde = new JMenuItem("Ende");
//menüPunktEnde.addActionListener(new EndeButtonListener());
JMenu menüAbout = new JMenu("About");
JMenuItem menüPunktAbout = new JMenuItem("About");
menüDatei.add(menüPunktNeu);
menüDatei.add(menüPunktSpeichern);
menüDatei.add(menüPunktEnde);
menüAbout.add(menüPunktAbout);
menüleiste.add(menüDatei);
menüleiste.add(menüAbout);
jf.setJMenuBar(menüleiste);
//Filechooser
jf.add(new oberflaeche());
button_convert.addActionListener(new Button_Converter_Listener());
}
// Listener
public class Button_Converter_Listener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
zeigetwas ze=new zeigetwas();
ze.zeig();
}
}
public class button_button2_Listener implements ActionListener {
public void actionPerformed(ActionEvent e)
{
}
}
public class button_button1_Listener implements ActionListener {
public void actionPerformed(ActionEvent ev1)
{
Object src = ev1.getSource();
}
}
public static void appendText(final String _textToAppend)
{
text.append(_textToAppend);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
[/Java]