Hallo Leute!
Ich arbeite zur Zeit an einem Notizblock, mit einer Tabelle stelle ich Zeit und Notizen darf und Aufgaben möchte ich mit JCheckboxen darstellen, das funktioniert soweit auch alles...
Ich besitze ein JCheckbox[] boxen array, welches 25 boxen fassen kann!
Mein Problem liegt nun daran, dass ich bisher keine Idee bzw. Möglichkeit gefunden habe, diese JCheckboxen wieder zu entfernen.
Ich habe ein JPopupMenu eingebaut mit einem "Löschen" Item, bei diesem soll nun die JCheckbox gelöscht werden...
Wenn möglich natürlich auch komplett aus dem Array entfernt werden!
Ich habe einen Beispiel-Code vorbereitet, weil mein gesamter Quellcode wäre zu lang!
Für jede Hilfe bin ich dankbar!
Unter euch gibts bestimmt einen crack, der ne gute Idee oder sogar schon eine Lösung bereit hat =)
Gruss
Ich arbeite zur Zeit an einem Notizblock, mit einer Tabelle stelle ich Zeit und Notizen darf und Aufgaben möchte ich mit JCheckboxen darstellen, das funktioniert soweit auch alles...
Ich besitze ein JCheckbox[] boxen array, welches 25 boxen fassen kann!
Mein Problem liegt nun daran, dass ich bisher keine Idee bzw. Möglichkeit gefunden habe, diese JCheckboxen wieder zu entfernen.
Ich habe ein JPopupMenu eingebaut mit einem "Löschen" Item, bei diesem soll nun die JCheckbox gelöscht werden...
Wenn möglich natürlich auch komplett aus dem Array entfernt werden!
Ich habe einen Beispiel-Code vorbereitet, weil mein gesamter Quellcode wäre zu lang!
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* @version 1.0 vom 15.06.2007
* @author
**/
public class checkboxen extends JFrame {
// Anfang Variablen
private Container cp = getContentPane();
private JButton hinzu = new JButton();
private JCheckBox[] boxen = new JCheckBox[5];
private int count=0;
private int y=10;
private JPopupMenu popup = new JPopupMenu();
private JMenuItem loesch = new JMenuItem("Löschen");
private MouseAdapter ml = null;
// Ende Variablen
public checkboxen(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 150;
int frameHeight = 300;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2 ;
setLocation(x, y);
cp.setLayout(null);
// Anfang Komponenten
hinzu.setBounds(15, 200, 113, 41);
hinzu.setText("Hinzufügen");
cp.add(hinzu);
hinzu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
hinzuActionPerformed(evt);
}
});
ml = new MouseAdapter() {
public void mouseReleased(MouseEvent evt) {
if (evt.isPopupTrigger()) {
popup.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
};
loesch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
loeschActionPerformed(evt); } });
popup.add(loesch);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Ereignisprozeduren
public void hinzuActionPerformed(ActionEvent evt) {
int i;
if(count < 5) {
for(i=0; i<1; i++) {
setVisible(false);
y = y + 25;
boxen[i] = new JCheckBox();
boxen[i].setText("Nr. "+count);
boxen[i].setBounds(15, y, 215, 25);
boxen[i].addMouseListener(ml);
cp.add(boxen[i]);
count++;
setVisible(true);
}
}
}
public void loeschActionPerformed(ActionEvent evt) {
/*
*
* HIER SOLL DIE GEPLANTE FUNKTION REIN ZUM LÖSCHEN! :)
*
*/
}
// Ende Ereignisprozeduren
public static void main(String[] args) {
new checkboxen("checkboxen");
}
}
Für jede Hilfe bin ich dankbar!
Unter euch gibts bestimmt einen crack, der ne gute Idee oder sogar schon eine Lösung bereit hat =)
Gruss
Zuletzt bearbeitet: