hii,
alllllllllso
wenn man ein dialogfeld mit eingabe mittes joptionpane dann wartet der restliche programmcode in der methode ja bis der benutzer im joptionpane einen buton klickt..
ich habe auch sowas ähnliches gemacht:
das ist die separate klasse zu meinem problem:
durch einen klick auf erstellen wird ein zweidimensionakes array befüllt und mit einer methode kann es geholt werden.. nun is es aber so das die gesamte methode einfach ausgeführt wird und nicht wartet bis der benutzer "erstellen" geklickt hat und das object[][] array befüllt ist
wie kann ich das am besten anstellen das die methode wartet?
danke
alllllllllso
wenn man ein dialogfeld mit eingabe mittes joptionpane dann wartet der restliche programmcode in der methode ja bis der benutzer im joptionpane einen buton klickt..
ich habe auch sowas ähnliches gemacht:
das ist die separate klasse zu meinem problem:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
//import java.util.*;
//import java.io.*;
//import java.net.*;
// Autor: Mathias Hackl
// Version: 1.0
// Datum: 21.11.2006
public class ParameterManager extends JDialog {
// Anfang Variablen
private JPanel buttonPanel = new JPanel(new FlowLayout());
private JTabbedPane paramTab = new JTabbedPane();
private JPanel tabPl1 = new JPanel(new BorderLayout());
private JButton ok = new JButton();
private JButton cancel = new JButton();
private String[] header = {"Attribut","Wert"};
private DefaultTableModel mod1 = new DefaultTableModel(header,0);
private TableSorter ts = new TableSorter(mod1);
private JTable mainparams = new JTable(ts);
private JScrollPane scroll = new JScrollPane(mainparams);
private int size;
private Object[][] val;
// Width=280, Height=360
// Ende Variablen
public ParameterManager(JFrame owner, String tag, boolean modal, final String[] params) {
// Dialog-Initialisierung
super(owner, "Parameter editieren - "+tag, modal);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { dispose(); }
});
addComponentListener( new ComponentAdapter() {
public void componentResized( ComponentEvent e ) {
System.out.println(getSize());
}
});
size=params.length;
setSize(280, 360);
ts.addMouseListenerToHeaderInTable(mainparams);
for(String s : params) {
mod1.addRow(new Object[]{s,""});
}
setLocationRelativeTo(owner);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
// Anfang Komponenten
paramTab.addTab("Standart-Attribute", tabPl1);
cp.add(paramTab, BorderLayout.CENTER);
ok.setText("Einfügen");
getRootPane().setDefaultButton(ok);
buttonPanel.add(ok, BorderLayout.WEST);
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
okActionPerformed(evt);
}
});
cancel.setText("Abbrechen");
buttonPanel.add(cancel, BorderLayout.EAST);
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
cancelActionPerformed(evt);
}
});
cp.add(buttonPanel, BorderLayout.SOUTH);
mainparams.setDragEnabled(false);
tabPl1.add(scroll);
// Ende Komponenten
// setResizable(false);
setVisible(true);
}
// Anfang Ereignisprozeduren
public void okActionPerformed(ActionEvent evt) {
val = new String[size][2];
for(int i=0; i<size; i++) {
for(int j=0; j<2; j++) {
val[i][j] = mainparams.getValueAt(i,j);
}
}
dispose();
}
public void cancelActionPerformed(ActionEvent evt) {
dispose();
}
public Object[][] getAttributes() {
return val;
}
// Ende Ereignisprozeduren
}
durch einen klick auf erstellen wird ein zweidimensionakes array befüllt und mit einer methode kann es geholt werden.. nun is es aber so das die gesamte methode einfach ausgeführt wird und nicht wartet bis der benutzer "erstellen" geklickt hat und das object[][] array befüllt ist
wie kann ich das am besten anstellen das die methode wartet?
danke