Gizmo-Mogwai
Grünschnabel
Hi
ich steh vor folgendem Rätsel. Bei den vorgefertigten Dialogen sind es immer Methoden die man aufruft und ein Rückgabewert wieder bekommt.
Beispiel:
int t =JOptionPane.showConfirmDialog(null, "Speichern?", "Speichern?", JOptionPane.YES_NO_OPTION);
Aber bei den Beispielen zum erstellen eigener Dialoge wird immer ein Objekt erzeugt. Soweit funktionieren die auch, aber ich weiß nicht wie ich das mit dem Rückgabewert machen soll.
So das wäre ein solches Beispiel:
package de.test.gui;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import javax.swing.*;
import javax.swing.event.*;
import de.test.*;
public class Search extends JFrame
{
private JLabel lSearch;
private JTextField tfSearchfield;
private JList lOutputList;
private JScrollPane jScrollPane1;
private JButton bSearch;
private JPanel searchengine;
public Search(Connection con)
{
super();
initializeComponent( );
this.setVisible(true);
}
private void initializeComponent()
{
lSearch = new JLabel();
tfSearchfield = new JTextField();
lOutputList = new JList();
jScrollPane1 = new JScrollPane();
bSearch = new JButton();
searchengine = (JPanel)this.getContentPane();
lSearch.setText("Suche");
tfSearchfield.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
search_actionPerformed(e);
}
});
jScrollPane1.setViewportView(lOutputList);
bSearch.setText("Suchen");
bSearch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
search_actionPerformed(e);
}
});
lOutputList.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent l)
{
if(!l.getValueIsAdjusting())
{
}
}
});
searchengine.setLayout(null);
addComponent(searchengine, lSearch, 10,11,64,18);
addComponent(searchengine, tfSearchfield, 10,36,110,22);
addComponent(searchengine, jScrollPane1, 10,74,200,196);
addComponent(searchengine, bSearch, 130,33,80,28);
this.setTitle("Suche ");
this.setLocation(new Point(0, 0));
this.setSize(new Dimension(230, 311));
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
private void addComponent(Container container,Component c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
private void search_actionPerformed(ActionEvent e)
{
System.out.println("\nSuchen");
FillData.listdata(lOutputList,tfSearchfield.getText());
}
}
Und hiermit wird der Dialog aufgerufen:
new Search();
ich steh vor folgendem Rätsel. Bei den vorgefertigten Dialogen sind es immer Methoden die man aufruft und ein Rückgabewert wieder bekommt.
Beispiel:
int t =JOptionPane.showConfirmDialog(null, "Speichern?", "Speichern?", JOptionPane.YES_NO_OPTION);
Aber bei den Beispielen zum erstellen eigener Dialoge wird immer ein Objekt erzeugt. Soweit funktionieren die auch, aber ich weiß nicht wie ich das mit dem Rückgabewert machen soll.
So das wäre ein solches Beispiel:
package de.test.gui;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import javax.swing.*;
import javax.swing.event.*;
import de.test.*;
public class Search extends JFrame
{
private JLabel lSearch;
private JTextField tfSearchfield;
private JList lOutputList;
private JScrollPane jScrollPane1;
private JButton bSearch;
private JPanel searchengine;
public Search(Connection con)
{
super();
initializeComponent( );
this.setVisible(true);
}
private void initializeComponent()
{
lSearch = new JLabel();
tfSearchfield = new JTextField();
lOutputList = new JList();
jScrollPane1 = new JScrollPane();
bSearch = new JButton();
searchengine = (JPanel)this.getContentPane();
lSearch.setText("Suche");
tfSearchfield.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
search_actionPerformed(e);
}
});
jScrollPane1.setViewportView(lOutputList);
bSearch.setText("Suchen");
bSearch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
search_actionPerformed(e);
}
});
lOutputList.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent l)
{
if(!l.getValueIsAdjusting())
{
}
}
});
searchengine.setLayout(null);
addComponent(searchengine, lSearch, 10,11,64,18);
addComponent(searchengine, tfSearchfield, 10,36,110,22);
addComponent(searchengine, jScrollPane1, 10,74,200,196);
addComponent(searchengine, bSearch, 130,33,80,28);
this.setTitle("Suche ");
this.setLocation(new Point(0, 0));
this.setSize(new Dimension(230, 311));
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
private void addComponent(Container container,Component c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
private void search_actionPerformed(ActionEvent e)
{
System.out.println("\nSuchen");
FillData.listdata(lOutputList,tfSearchfield.getText());
}
}
Und hiermit wird der Dialog aufgerufen:
new Search();