public class Demo {
public static void main( String[] args ) throws Exception{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
JTextPane pane = new JTextPane();
frame.getContentPane().add( new JScrollPane( pane ));
Document doc = pane.getDocument();
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setComponent( set, new JButton( "Ich bin auch eine Tabelle" ));
doc.insertString( 0, "Blabla", new SimpleAttributeSet());
doc.insertString( doc.getLength(), "unsichtbar", set );
frame.pack();
frame.setVisible( true );
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tabelle extends JFrame implements ActionListener
{
Object activ;
JLabel zeile = new JLabel("Anzahl der Zeilen: ");
JLabel spalte = new JLabel("Anzahl der Spalten: ");
JSpinner za = new JSpinner();
JSpinner sa = new JSpinner();
JPanel panel = new JPanel();
JButton ok = new JButton("OK");
JButton abbrechen = new JButton("Abbrechen");
JButton vorschau = new JButton("Vorschau");
JTable tabelle;
int spalten;
int zeilen;
public Tabelle()
{
this.setTitle("Tabelle");
this.setLocation(100, 100);
this.setSize(300,300);
Container cp = getContentPane();
this.panel.setLayout(new GridLayout(4, 2));
this.panel.add(this.zeile);
this.panel.add(this.za);
this.panel.add(this.spalte);
this.panel.add(this.sa);
this.panel.add(this.ok);
this.panel.add(this.abbrechen);
this.panel.add(this.vorschau);
//this.panel.add(this.panel2);
cp.add(this.panel);
this.ok.addActionListener(this);
this.abbrechen.addActionListener(this);
this.pack();
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == this.ok)
{
Object spaltenanzahl = this.sa.getValue();
String spaz = String.valueOf(spaltenanzahl);
this.spalten = Integer.parseInt(spaz);
Object zeilenanzahl = this.za.getValue();
String zeaz = String.valueOf(zeilenanzahl);
this.zeilen = Integer.parseInt(zeaz);
this.tabelle = new JTable(this.spalten, this.zeilen);
this.panel.add(this.tabelle);
}
if(e.getSource() == this.abbrechen)
{
this.setVisible(false);
}
}
}
if(tabelle!=null)panel.remove(tabelle);
tabelle = new JTable(zeilen, spalten);
panel.add(tabelle);
panel.revalidate();
if(tabelle==null){
tabelle = new JTable(zeilen, spalten);
panel.add(tabelle);
panel.revalidate();
}else{
tabelle.setModel(new DefaultTableModel(zeilen, spalten));
}
Bei mir geht's. Code?Jordie hat gesagt.:ne krieg das damit nicht hin
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tabelle extends JFrame implements ActionListener
{
JLabel zeile = new JLabel("Anzahl der Zeilen: ");
JLabel spalte = new JLabel("Anzahl der Spalten: ");
JSpinner za = new JSpinner();
JSpinner sa = new JSpinner();
JPanel panel = new JPanel();
JButton ok = new JButton("OK");
JButton abbrechen = new JButton("Abbrechen");
JTable tabelle;
int spalten;
int zeilen;
Editor editor;
public Tabelle(Editor editor)
{
this.setTitle("Tabelle");
this.editor=editor;
this.setLocation(100, 100);
this.setSize(240, 140);
Container cp = getContentPane();
this.panel.setLayout(null);
this.panel.add(this.zeile);
this.panel.add(this.za);
this.panel.add(this.spalte);
this.panel.add(this.sa);
this.panel.add(this.ok);
this.panel.add(this.abbrechen);
cp.add(this.panel);
this.zeile.setBounds(5, 5, 120, 25);
this.za.setBounds(150, 5, 80, 25);
this.spalte.setBounds(5, 45, 120, 25);
this.sa.setBounds(150, 45, 80, 25);
this.ok.setBounds(5, 80, 70, 25);
this.abbrechen.setBounds(80, 80, 100, 25);
this.ok.addActionListener(this);
this.abbrechen.addActionListener(this);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == this.ok)
{
Object spaltenanzahl = this.sa.getValue();
String spaz = String.valueOf(spaltenanzahl);
this.spalten = Integer.parseInt(spaz);
Object zeilenanzahl = this.za.getValue();
String zeaz = String.valueOf(zeilenanzahl);
this.zeilen = Integer.parseInt(zeaz);
this.editor.textfeld.insertComponent(this.tabelle = new JTable(this.zeilen, this.spalten));
this.sa.setValue(new Integer(0));
this.za.setValue(new Integer(0));
this.setVisible(false);
}
if(e.getSource() == this.abbrechen)
{
this.setVisible(false);
}
}
}
Du bist lustig, wo ist denn da "setMaximumSize" ? Oder bin ich jetzt schon blind :shock:Jordie hat gesagt.:ist der code, der fügt den die Tabelle in der Hauptklasse ein. Aber die Größe verändert sich wie schon gesagt, nicht...
Ist das alles was du dazu zu sagen hast?Jordie hat gesagt.:
Ist doch kein Widerspruch.siroFranz hat gesagt.:ja, aber man soll die während der Laufzeit verändern können die Größe der Tabelle?
Erklär das doch bitte für die, die "OpenOffice" nicht kennen.siroFranz hat gesagt.:man soll die sozusagen im nachhinein verändern können wie in z.B. openOffice